课程 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 - 已注册该课程

相关API

查看其他相关的API文档