@RestController
@RestController는 @Controller에 @ResponseBody가 추가된 것입니다. 당연하게도 RestController의 주용도는 Json 형태로 객체 데이터를 반환하는 것입니다. 최근에 데이터를 응답으로 제공하는 REST API를 개발할 때 주로 사용하며 객체를 ResponseEntity로 감싸서 반환합니다. 이러한 이유로 동작 과정 역시 @Controller에 @ReponseBody를 붙인 것과 완벽히 동일합니다.
@RequestMapping
@RequestMapping 어노테이션은 Spring 웹 애플리케이션에서 가장 자주 사용되는 annotation이다.
@RequestMapping은 http request로 들어오는 url을 특정 controller 클래스나 메소드로 연결시키는 역할을 한다.
@RequestMapping은 controller에 있어서 class에 적용할수도 있고 특정 method에 적용할수도 있다.
@RequestMapping 이 사용하는 속성
이름 | 타입 | 설명 |
value | String[] | URL 값으로 매핑 조건을 부여 (default) |
method | RequetMethod[] | HTTP Request 메소드 값을 매핑 조건으로 부여 사용 가능한 메소드는 GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE (7개) |
params | String[] | HTTP Request 파라미터를 매핑 조건으로 부여 |
consumes | String[] | 설정과 Content-Type request 헤더가 일치할 경우에만 URL이 호출됨 |
produces | String[] | 설정과 Accept request 헤더가 일치할 경우에만 URL이 호출됨 |
@GetMapping
GET 요청 방식의 API를 만들때, @RequestMapping(method = RequestMethod.GET ...) 방식도 있지만, @GetMapping을 이용하는 방법도 있다. (개인적으로 @GetMapping을 더 많이 사용한다)
'개발일지 > 스프링' 카테고리의 다른 글
PUT 요청 (0) | 2022.11.30 |
---|---|
post 요청 - pathvariable (0) | 2022.11.30 |
GET 요청 - Query Parameter (0) | 2022.11.30 |
GET 요청 - pathVariable (0) | 2022.11.30 |
STS 프로젝트 생성하기(Gradle - Groovy) (0) | 2022.11.30 |
댓글