학습 목표
- HTTP 메서드 어노테이션 의 핵심 개념을 안다
- 메서드별 매핑 의 동작을 안다
- RESTful URL 디자인의 큰 그림을 안다.
1. 문제
같은 URL 에 GET/POST/PUT/DELETE 가 다 있는데 어떻게 분기?
2. 새 도구
메서드별 매핑: 각 HTTP 메서드를 별도 어노테이션으로. RESTful URL 디자인의 첫걸음.
3. 코드
@RestController
@RequestMapping("/api/boards")
public class BoardApiController { // com.smhrd.controller
@GetMapping // GET /api/boards
public List<Board> list() {
return service.selectList();
}
@GetMapping("/{num}") // GET /api/boards/3
public Board view(@PathVariable int num) {
return service.selectOne(num);
}
@PostMapping // POST /api/boards
public Board create(@RequestBody Board b) {
service.insert(b);
return b;
}
@PutMapping("/{num}") // PUT /api/boards/3
public Board update(@PathVariable int num, @RequestBody Board b) {
b.setNum(num);
return service.update(b);
}
@DeleteMapping("/{num}") // DELETE /api/boards/3
public void delete(@PathVariable int num) {
service.delete(num);
}
}
4. 정리
- GET = 조회
- POST = 생성
- PUT = 수정
- DELETE = 삭제
- 같은 URL 에 동사로 분기
5. Before / After
전 차시
같은 URL 에 GET/POST/PUT/DELETE 가 다 있는데 어떻게 분기?
이번 차시
RESTful URL 디자인의 큰 그림을 안다.
학습 확인 체크리스트
- GET = 조회
- POST = 생성
- PUT = 수정
- DELETE = 삭제
- 같은 URL 에 동사로 분기