@RequestMapping
- 특정 URL로 Request를 보내면 들어온 요청을 Controller 내부의 특정 Method와 Mapping 하기 위해 사용한다.
- 속성값들을 설정할 때 배열 형태로 다중 설정이 가능하다.
- HTTP Method POST, GET, PUT, PATCH, DELETE, HEAD 모두 허용한다.
- method 속성으로 HTTP 메서드를 지정하면 지정된 것만 허용한다.
- @RequestMapping(value = "/v1") 에서 value = 생략가능
- 모든 메서드마다 작성하기 번거로우니 @GetMapping,@PostMapping,@PutMapping,@PatchMapping,@DeleteMapping으로 사용가능
- @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping의 Target은 Method Level이다.
- @RequestMapping은 Target은 class, method 레벨에 적용이 가능하다.
- prefix로 선언할 URL을 class 레벨에 적용하는 것에 주로 사용된다. ex) @RequestMapping("/prefix")
@PathVariable
- HTTP 특성 중 하나인 비연결성을 극복하여 데이터를 전달하기 위한 방법 중 하나이다. URL로 전달된 값을 파라미터로 받아오는 역할을 수행한다.
- 경로 변수를 중괄호에 둘러싸인 값으로 사용할 수 있다. ex) user/{id} -> 밑줄 친 부분이 경로변수
- 기본적으로 @PathVariable로 설정된 경로 변수는 반드시 값을 가져야 하며 값이 없으면 응답 상태코드 404 Not Found Error가 발생한다.
- 최근 Restful API를 설계하는 것이 API의 기준이 되며 해당 어노테이션의 사용 빈도가 높아졌다.

- 파라미터 변수값과 PathVariable 변수명이 같으면 생략가능

- @PathVariable 다중 사용 가능

@RequestMapping을 사용해 클래스 레벨을 설정 @GetMapping URL에 경로변수만 들어갈 수 있도록 바꿈

'TIL' 카테고리의 다른 글
| HTTP 요청 데이터 (2) | 2024.12.11 |
|---|---|
| Spring Annotation3 (1) | 2024.12.10 |
| Spring Annotation (0) | 2024.12.08 |
| Spring MVC (0) | 2024.12.07 |
| stream (0) | 2024.12.06 |