TIL

Spring Annotation2

ac012235 2024. 12. 9. 21:08

@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