/
dmuruz
/
Course_Service
Обзор
Документация
Войти
/
dmuruz
/
Course_Service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
src/main/java/org/example/controller/CourseController.java
55 строк
2 KB
Danil Muruz
MVP
24 апр 2025, 09:39
24 апр 2025, 09:39
16b1c45
Код
Авторство
О чём код?
package org.example.controller; import org.example.dto.CourseDTO; import org.example.manager.CourseManager; import org.example.model.Course; import org.example.model.Lesson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/courses") public class CourseController { @Autowired private CourseManager courseManager; @PostMapping public ResponseEntity<Course> createCourse(@RequestBody CourseDTO courseDTO) { Course course = courseManager.createCourse(courseDTO); return ResponseEntity.ok(course); } @GetMapping public ResponseEntity<List<Course>> getAllCourses() { return ResponseEntity.ok(courseManager.getAllCourses()); } @GetMapping("/{id}") public ResponseEntity<Course> getCourseById(@PathVariable Long id) { return courseManager.getCourseById(id) .map(ResponseEntity::ok) .orElse(ResponseEntity.notFound().build()); } @PutMapping("/{id}") public ResponseEntity<Course> updateCourse(@PathVariable Long id, @RequestBody CourseDTO courseDTO) { Course updated = courseManager.updateCourse(id, courseDTO); return ResponseEntity.ok(updated); } @DeleteMapping("/{id}") public ResponseEntity<Void> deleteCourse(@PathVariable Long id) { courseManager.deleteCourse(id); return ResponseEntity.ok().build(); } @GetMapping("/{id}/lessons") public ResponseEntity<List<Lesson>> getLessonsByCourse(@PathVariable Long id) { List<Lesson> lessons = courseManager.getLessonsByCourseId(id); return ResponseEntity.ok(lessons); } }