@RestController 어노테이션

  • Spring에서 Rest API/Web API를 개발하기 위해 사용하는 어노테이션
  • @Controller@ResponseBody를 포함한다.
  • MessageConvertor가 @RestController에서 다음과 같은 중요한 역할을 수행한다.
    • 외부에서 전달받은 JSON메서드를 내부에서 사용할 수 있는 객체로 변환
    • Controller가 리턴한 객체를 클라이언트에게 JSON으로 변환해 전달
    • @EnableWebMvc를 사용하면 기본으로 제공된다. 이는 Jackson 라이브러리를 추가할 경우 기본으로 설정되어 있다. 만약 Jackson 라이브러리를 추가해 주지 않은 경우 500 오류가 발생한다.
    • @ResponseBody는 자바 객체를 HTTP 요청의 body 내용으로 매핑하는 역할을 수행하며, @RequestBody는 HTTP 요청의 body 내용을 자바 객체로 매핑하는 역할을 수행한다.
@RestController
public class MemberRestController
{
    @RequestMapping(value="api/item/new", method = RequestMethod.POST)
    public Item item(@RequestBody ItemDto item) {
        Item savedItem = itemService.join(item); 
        return savedItem;
    }
}
  • Body 부분의 ItemDto 데이터를 파라미터로 받기위해 @RequestBody를 사용함.
  • @ResponseBody@RestController에 포함되어있어, savedItem이 Body에 맵핑되어 전달된다.

'Backend > SpringBoot-JPA' 카테고리의 다른 글

2차 캐시 - @Cacheable  (0) 2021.04.30
Optimistic/Pessimistic Lock  (1) 2021.04.19
@Transactional  (0) 2021.03.21

+ Recent posts