[210802] Annotation - @Responsebody, @RequestBody, @Requestparam
1. Annotation(어노테이션)
- 사전적 의미: 주석
- 메타 데이터(데이터를 위한 데이터, 자신의 정보를 담고 있는 데이터)의 비중이 가장 큼
- 자바 코드에 @를 이용하여 주석처럼 특수한 의미 부여
- 코드가 간결해지고 재사용 가능해짐
1-1. @Responsebody
- 실행 흐름: Client -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller (ResponseBody) -> Response -> Client
- 자바 객체를 HTTP 요청의 body 내용으로 변환/매핑하는 어노테이션
- 클라이언트가 전송하는 Json 형태의 HTTP Body 내용을 Java Object로 변환시켜줌
*Json 구조
- 이름과 값의 쌍으로 이루어짐
- 쉼표(,)로 나열됨
- 객체(object)는 중괄호({})로, 배열(array)은 대괄호([])로 둘러쌓아 표현
1-2. @RequestBody
- HTTP 요청의 body 부분이 그대로 전달됨
1-3. @Requestparam
- HttpServletRequest 객체와 같은 역할
- 하나의 HTTP 요청 파라미터를 받기 위해서 사용
- 필수 여부가 true이기 때무에 기본적으로 반드시 해당 파라미터가 전송되어야 함 (전송되지 않으며 400 Error 유발)
- 옵션: required, defaultValue
- get 방식 url의 query parameters (물음표 뒤에 = 로 연결된 key value pair 부분)를 받기에 적절함
링크텍스트
링크텍스트