@ResponseBody , @RequestBody,@value,@valid

Shaun·2021년 11월 28일
0

SpringBoot

목록 보기
4/21

애노테이션들중에 의미를 정확히 모르거나 헷갈렸던 애노테이션을 모아봐서 학습을 했다.

Spring에서 API 구현시 주로 사용되는 @ResquestBody, @ResponseBody 어노테이션의 개념 대해 확실하게 알고 넘어가자.

예를들어 웹페이지에서 json으로 request한 파라미터들을 java에서 받으려면 java object로의 변환이 필요하며

마찬가지로 response 시에도 java object에서 json으로 변환이 필요하다.

이러한 작업들을 해주는 어노테이션이 바로 @RequestBody 와 @ResponseBody 이다.

컨트롤러에 두 어노테이션을 추가해주면, JSON이나 key/value 방식 xml 등으로 송수신 할 수 있다.

@RequestBody 어노테이션이란?

HTTP 요청의 body 내용을 자바 객체로 매핑하는 역할을 합니다.

@ResponseBody 어노테이션이란?

자바 객체를 HTTP 요청의 body 내용으로 매핑하는 역할을 합니다.

  • 위의 예제 소스에서는 HTTP 요청의 body안에 Member 데이터를 파라미터로 받기위해 @RequestBody를 사용하였습니다.

  • @ResponseBody를 사용하지 않은 이유는 @RestController를 사용하였기 때문입니다.

  • @Controller와는 다르게 @RestController는 리턴값에 자동으로 ResponseBody를 붙게되어 HTTP 응답데이터(body)에 자바 객체가 매핑되어 전달됩니다.

    ( ※ @Controller인 경우에는 @ResponseBody를 적어줘야 합니다. )

@Value
value사용법 링크

@valid
vaild사용법 링크

profile
호주쉐프에서 개발자까지..

0개의 댓글