
@RequestMapping("/courses")
@RestController
class CourseController {
}
@Controller와 @ResponseBody 가 합쳐진 annotation 으로 클래스의 모든 함수에 @ResponseBody를 자동으로 설정해준다.Controller 단에서 HTTP 요청을 처리하기 위해 지정하는 Annotation
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
- @RequestParam : HTTP 요청 파라미터 값을 매핑하는 데 사용한다.
- @PathVariable : URI 경로 변수 값을 매핑하는데 사용된다.
- @RequestBody : 요청 DTO를 표기할때 사용한다. 클라이언트로 요청받은 Json을 객체로 맵핑해준다.
@RequestMapping("/courses")
@RestController
class CourseController {
@PostMapping
fun createCourse(@RequestBody createCourseRequest: CreateCourseRequest): ResponseEntity<CourseResponse> {
TODO("not implemented")
}
@GetMapping()
fun getCourseList(): ResponseEntity<List<CourseResponse>> {
TODO("not implemented")
}
@GetMapping("/{courseId}")
fun getCourse(@PathVariable courseId: Long): ResponseEntity<CourseResponse> {
TODO("not implemented")
}
@PutMapping("/{courseId}")
fun updateCourse(
@PathVariable courseId: Long,
@RequestBody updateCourseRequest: UpdateCourseRequest
): ResponseEntity<CourseResponse> {
TODO("not implemented")
}
@DeleteMapping("/{courseId}")
fun deleteCourse(@PathVariable courseId: Long): ResponseEntity<Unit> {
TODO("not implemented")
}
}