API endpoint index
Trang này là catalog endpoint sinh từ annotation controller trong backend/src/main/java/com/example/lms. Nó thay cho bản danh sách thủ công trước đây, vốn chỉ ghi các endpoint quan trọng nên chưa đủ để tra cứu toàn hệ thống.
- Sinh lúc:
2026-06-14T09:23:34.570Z - Controller có endpoint: 72
- Endpoint được phát hiện: 412
- Endpoint có khả năng mutate dữ liệu: 205
Catalog này dùng để học codebase và tìm controller nhanh. Khi cần request/response DTO chính xác, hãy mở controller tương ứng hoặc Swagger runtime tại http://localhost:8088/swagger-ui khi backend đang chạy.
Cách đọc nhanh
GET,HEAD,OPTIONSthường là đọc dữ liệu hoặc probe.POST,PUT,PATCH,DELETElà nhóm cần kiểm authorization, validation, audit và transaction.- Với Wiii/Pointy, không tự động gọi các endpoint nguy hiểm như submit quiz, publish/approve course, enroll, grade, refund/payment hoặc delete. UI phải có preview/diff và người dùng xác nhận.
- Cột
Sourcecho biết file và dòng annotation mapping để mở đúng chỗ trong IDE.
Tổng quan
| Nhóm | Số endpoint |
|---|---|
| AI assistant và Wiii token | 13 |
| Assessment | 88 |
| Communication | 18 |
| Competency mapping | 6 |
| Course authoring | 76 |
| Identity, auth và user | 50 |
| Learning delivery | 90 |
| Shared infrastructure | 71 |
Theo HTTP method
| Method | Số endpoint |
|---|---|
DELETE |
35 |
GET |
206 |
HEAD |
1 |
PATCH |
19 |
POST |
119 |
PUT |
32 |
Endpoint cần review kỹ khi demo hoặc tích hợp Wiii
Đây không phải blacklist đầy đủ, mà là danh sách nổi bật để nhớ nguyên tắc an toàn. Hễ endpoint mutate dữ liệu thì phải đi qua quyền backend và UI xác nhận rõ ràng.
| Method | Endpoint | Handler | Source |
|---|---|---|---|
DELETE |
/api/v3/ai/sessions/{sessionId} |
deleteSession |
backend/src/main/java/com/example/lms/ai_assistant/infrastructure/web/AiAssistantControllerV3.java:138 |
DELETE |
/api/v3/teacher/assignments/{id} |
deleteAssignment |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentControllerV3.java:214 |
DELETE |
/api/v3/teacher/assignments/{id}/instruction-attachments/{attachmentId} |
deleteInstructionAttachment |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentControllerV3.java:255 |
PUT |
/api/v3/assignments/{assignmentId}/publish |
publishAssignment |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentSubmissionControllerV3.java:353 |
POST |
/api/v3/assignments/{assignmentId}/submissions |
submitAssignment |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentSubmissionControllerV3.java:233 |
PATCH |
/api/v3/assignments/{assignmentId}/submissions/batch-grade |
batchGrade |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentSubmissionControllerV3.java:159 |
PATCH |
/api/v3/submissions/{submissionId}/grade |
gradeSubmission |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/AssignmentSubmissionControllerV3.java:131 |
POST |
/api/v3/question-banks/{bankId}/import |
importQuestions |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionBankControllerV3.java:321 |
POST |
/api/v3/questions/import/excel |
importFromExcel |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionControllerV3.java:330 |
DELETE |
/api/v3/quizzes/{quizId} |
deleteQuiz |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:456 |
POST |
/api/v3/quizzes/{quizId}/publish |
publishQuiz |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:440 |
DELETE |
/api/v3/quizzes/attempts/{attemptId} |
deleteAttempt |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:654 |
PATCH |
/api/v3/quizzes/attempts/{attemptId}/grade |
manualGradeQuestion |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:640 |
POST |
/api/v3/quizzes/attempts/{attemptId}/submit |
submitAttempt |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:567 |
POST |
/api/v3/quizzes/lessons/{lessonId}/sections/{sectionId}/submit |
submitSectionQuiz |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuizControllerV3.java:295 |
POST |
/api/v3/questions/import/docx/confirm |
confirmDocxImport |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionControllerV3.java:538 |
POST |
/api/v3/questions/import/docx/preview |
previewDocx |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionControllerV3.java:453 |
DELETE |
/api/v3/question-banks/categories/{catId} |
deleteCategory |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionBankControllerV3.java:185 |
DELETE |
/api/v3/rubrics/{id} |
deleteRubric |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/RubricControllerV3.java:90 |
POST |
/api/v3/student/assignments/{id}/submit |
submitAssignment |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/StudentAssignmentControllerV3.java:70 |
DELETE |
/api/v3/questions/{id} |
deleteQuestion |
backend/src/main/java/com/example/lms/assessment/infrastructure/web/QuestionControllerV3.java:141 |
DELETE |
/api/v3/announcements/{id} |
deleteAnnouncement |
backend/src/main/java/com/example/lms/communication/infrastructure/web/AnnouncementController.java:104 |
DELETE |
/api/v3/admin/courses/{courseId} |
deleteCourse |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/AdminCoursesControllerV3.java:448 |
PATCH |
/api/v3/admin/courses/{courseId}/approve |
approveCourse |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/AdminCoursesControllerV3.java:277 |
PATCH |
/api/v3/admin/courses/bulk-approve |
bulkApproveCourses |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/AdminCoursesControllerV3.java:366 |
DELETE |
/api/v3/courses/chapters/{chapterId} |
deleteChapter |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseAuthoringControllerV3.java:135 |
DELETE |
/api/v3/courses/lessons/{lessonId} |
deleteLesson |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseAuthoringControllerV3.java:176 |
DELETE |
/api/v3/courses/lessons/{lessonId}/sections/{sectionId} |
deleteSection |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseAuthoringControllerV3.java:425 |
POST |
/api/v3/courses/{courseId}/reviews |
submitReview |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseReviewControllerV3.java:32 |
DELETE |
/api/v3/courses/{courseId}/reviews/{reviewId} |
deleteReview |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseReviewControllerV3.java:94 |
DELETE |
/api/v3/admin/course-tags/{id} |
delete |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/CourseTagControllerV3.java:66 |
DELETE |
/api/v3/packages/{id} |
deletePackage |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/PackageControllerV3.java:128 |
POST |
/api/v3/teacher/courses/{courseId}/publications/{publicationId}/adopt-all |
bulkAdoptPublication |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/TeacherCoursesControllerV3.java:400 |
DELETE |
/api/v3/teacher/courses/{courseId} |
deleteCourse |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/TeacherCoursesControllerV3.java:187 |
POST |
/api/v3/teacher/courses/{courseId}/submit-for-approval |
submitForApproval |
backend/src/main/java/com/example/lms/course_authoring/infrastructure/web/TeacherCoursesControllerV3.java:197 |
DELETE |
/api/v3/users/{userId} |
deleteUser |
backend/src/main/java/com/example/lms/identity/infrastructure/web/UserControllerV3.java:569 |
POST |
/api/v3/users/bulk-import |
bulkImportUsers |
backend/src/main/java/com/example/lms/identity/infrastructure/web/UserControllerV3.java:402 |
POST |
/api/v3/classes/{classId}/enroll-paid |
enrollPaidStudents |
backend/src/main/java/com/example/lms/learning_delivery/infrastructure/web/ClassControllerV3.java:513 |
POST |
/api/v3/classes/{classId}/adopt-publication |
adoptPublication |
backend/src/main/java/com/example/lms/learning_delivery/infrastructure/web/ClassControllerV3.java:341 |
DELETE |
/api/v3/classes/{classId} |
deleteClass |
backend/src/main/java/com/example/lms/learning_delivery/infrastructure/web/ClassControllerV3.java:314 |