Code in Life
API Controller에서 파라미터를 전달 받는 방법 본문
- @RequestParam : GET방식에서 사용하며, URL에 노출되는 쿼리 파라미터를 설정한다. required=false 설정을 하지 않으면 default가 true라서 요청 필드가 없으면 400 에러가 발생한다.
httpServletRequest.getParameter()와 동일한 역할을 한다.
- @PathVariable : 식별자를 URL에 설정할 수 있다.
- @RequestBody : JSON, XML등의 데이터를 HttpMessageConverter를 통해 DTO에 바인딩해준다. form-data 방식은 받지못한다. Setter가 필요없다.
- @ModelAttribute : 클라이언트가 전송한 여러 파라미터들을 1대 1로 바인딩하며, form-data를 받을 수 있다. 바인딩 대상으로는 도메인 오브젝트나 DTO, VO등을 주로 사용한다. 바인딩하는 객체에 Setter가 있어야 바인딩 가능하며, 없을경우 null이 저장되기 때문에 NPE가 발생할 수 있다.
httpServletRequest.getAttribute()와 동일한 역할을 한다.
위 어노테이션들은 @Valid, @Validated 유효성 검사가 가능하다.
참고 : JSON으로 전달 가능한 예(모질라 공식문서 참고)
'Springboot' 카테고리의 다른 글
코루틴에서 트랜잭션 처리하기 (3) | 2022.06.14 |
---|---|
스프링부트 프로젝트 생성하기 (0) | 2020.12.01 |
Comments