课程 API
课程内容管理和学习进度相关的API接口文档
API 概述
课程API提供课程列表查询、课程详情获取、学习进度管理等功能。 部分API需要用户身份验证。
课程管理
课程列表和详情查询
学习进度
进度跟踪和状态更新
评价系统
课程评分和评论
课程查询
GET /api/courses
获取课程列表
GET https://api.linuxcloudlab.com/courses?page=1&limit=10&category=linux-basics
查询参数
- • page: 页码 (默认: 1)
- • limit: 每页数量 (默认: 10, 最大: 50)
- • category: 课程分类
- • level: 难度级别 (beginner, intermediate, advanced)
- • search: 搜索关键词
响应示例
{
"success": true,
"data": {
"courses": [
{
"id": "course_001",
"title": "Linux 基础入门",
"description": "从零开始学习Linux系统",
"level": "beginner",
"duration": 1200,
"rating": 4.8,
"enrolledCount": 15420,
"price": 0,
"thumbnail": "https://cdn.linuxcloudlab.com/course1.jpg"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 45,
"totalPages": 5
}
}
}
GET /api/courses/{courseId}
获取课程详细信息
GET https://api.linuxcloudlab.com/courses/course_001
课程注册和学习
POST /api/courses/{courseId}/enroll
注册课程
POST https://api.linuxcloudlab.com/courses/course_001/enroll
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
响应示例
{
"success": true,
"message": "课程注册成功",
"data": {
"enrollmentId": "enrollment_123",
"enrolledAt": "2025-12-15T10:30:00Z",
"progress": 0
}
}
GET /api/courses/{courseId}/lessons
获取课程章节列表
GET https://api.linuxcloudlab.com/courses/course_001/lessons
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
PUT /api/courses/{courseId}/lessons/{lessonId}/progress
更新学习进度
PUT https://api.linuxcloudlab.com/courses/course_001/lessons/lesson_001/progress
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"completed": true,
"timeSpent": 1800,
"score": 95
}
评价和反馈
POST /api/courses/{courseId}/reviews
提交课程评价
POST https://api.linuxcloudlab.com/courses/course_001/reviews
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"rating": 5,
"comment": "非常好的Linux入门课程,内容详细易懂!"
}
GET /api/courses/{courseId}/reviews
获取课程评价列表
GET https://api.linuxcloudlab.com/courses/course_001/reviews?page=1&limit=10
用户学习数据
GET /api/users/enrollments
获取用户已注册的课程
GET https://api.linuxcloudlab.com/users/enrollments
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
响应示例
{
"success": true,
"data": [
{
"enrollmentId": "enrollment_123",
"courseId": "course_001",
"courseTitle": "Linux 基础入门",
"progress": 75,
"completedLessons": 15,
"totalLessons": 20,
"enrolledAt": "2025-11-01T10:00:00Z",
"lastAccessedAt": "2025-12-15T09:30:00Z",
"certificateEarned": false
}
]
}
GET /api/courses/{courseId}/progress
获取特定课程的学习进度
GET https://api.linuxcloudlab.com/courses/course_001/progress
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
POST /api/courses/{courseId}/certificate
申请课程完成证书
POST https://api.linuxcloudlab.com/courses/course_001/certificate
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
状态码说明
成功响应
- 200 - 请求成功
- 201 - 注册成功
错误响应
- 400 - 请求参数错误
- 401 - 需要身份验证
- 404 - 课程不存在
- 409 - 已注册该课程