获取所有课程列表及基本信息
{
"courses": [
{
"code": "csc375",
"path": "courses/csc375",
"quizzes": ["quiz"],
"assignments": ["assignment1"]
}
],
"total": 1
}
创建新课程(自动生成HTML和grader.py文件)
{
"course_code": "csc101",
"course_name": "计算机科学导论",
"instructor": "Dr. Lin",
"instructor_email": "rongyu.lin@quinnipiac.edu",
"quizzes": [
{
"id": "quiz1",
"title": "第一次测验",
"instructions": "请回答问题"
}
],
"assignments": [
{
"id": "assignment1",
"title": "作业1",
"description": "完成编程任务"
}
]
}
{
"success": true,
"message": "课程 CSC101 创建成功",
"course_code": "csc101"
}
获取单个课程的详细信息
{
"code": "csc375",
"path": "courses/csc375",
"quizzes": {
"quiz": {
"id": "quiz",
"submit_url": "/csc375/quizzes/quiz/submit",
"has_grader": true,
"has_html": true
}
},
"assignments": {
"assignment1": {
"id": "assignment1",
"submit_url": "/csc375/assignments/assignment1/submit",
"has_grader": true,
"has_html": true
}
}
}
删除指定课程(⚠️ 不可恢复)
{
"success": true,
"message": "课程 CSC101 删除成功"
}
通过API提交Quiz(JSON格式)
{
"firstName": "John",
"lastName": "Doe",
"actualStudentId": "1234",
"actualEmail": "john.doe@qu.edu",
"quizAnswer": "我的答案内容",
"submissionDate": "2025-01-20T10:30:00Z"
}
{
"success": true,
"submission_id": "quiz_1642678200_1234",
"student_name": "John Doe",
"total_points": 10,
"earned_points": 0,
"status": "submitted_for_review"
}
通过API提交Assignment(JSON格式,支持文件)
{
"firstName": "John",
"lastName": "Doe",
"actualStudentId": "1234",
"actualEmail": "john.doe@qu.edu",
"teamSize": "Individual",
"files": {
"assignment_file": {
"filename": "main.py",
"content": "print('Hello World')"
}
}
}
{
"success": true,
"submission_id": "assignment_1642678200_1234",
"student_name": "John Doe",
"total_points": 100,
"earned_points": 0,
"status": "submitted_for_review"
}
获取课程的所有提交记录
{
"course_code": "csc375",
"submissions": [
{
"type": "quiz",
"id": "quiz1",
"student_id": "1234",
"student_name": "John Doe",
"submitted_at": "2025-01-20T10:30:00Z",
"score": "8/10"
}
],
"total": 1,
"message": "提交记录功能开发中"
}
# 1. 获取所有课程
curl http://localhost:8080/api/courses
# 2. 获取特定课程详情
curl http://localhost:8080/api/courses/csc375
# 3. 创建新课程
curl -X POST http://localhost:8080/api/courses \
-H "Content-Type: application/json" \
-d '{
"course_code": "test101",
"course_name": "测试课程",
"quizzes": [{"id": "quiz1", "title": "测试Quiz"}],
"assignments": [{"id": "assignment1", "title": "测试作业"}]
}'
# 4. 通过API提交Quiz
curl -X POST http://localhost:8080/api/courses/csc375/quizzes/quiz/submit \
-H "Content-Type: application/json" \
-d '{
"firstName": "Test",
"lastName": "Student",
"actualStudentId": "1234",
"actualEmail": "test@qu.edu",
"quizAnswer": "这是我的测试答案"
}'
# 5. 获取提交记录
curl http://localhost:8080/api/courses/csc375/submissions
# 6. 删除课程(谨慎使用!)
curl -X DELETE http://localhost:8080/api/courses/test101
/{course_code}/quizzes/{quiz_id}/submit - Quiz提交页面/{course_code}/assignments/{assignment_id}/submit - Assignment提交页面/{course_code}/quizzes - 课程Quiz列表/{course_code}/assignments - 课程Assignment列表