@RequestBody 3

@ModelAttribute와 @RequestBody 그리고 Setter

@RequestBody와 Setter 본 주제에 대해 이야기하기 전에 먼저 @ModelAttribute에 대해 이야기해보려합니다. @ModelAttribute 우리는 Spring에서 Reqeust Parameter를 얻기 위해 @ModelAttribute를 사용하곤합니다. 값을 바인딩하여 우리가 원하는 객체로 변환해주는 역할을 하는데 아래와 같이 형식에 맞춰 값이 넘어오면 원하는 객체로 손쉽게 변환할 수 있다는 큰 장점이 있습니다. 물론 타입이나 형식이 안맞으면 TypeConverter에서 예외가 발생함 값을 바인딩하길 원하는 객체인 RequestDto는 name과 age필드 두가지를 가지고 있는데 실제 요청을 postman을 사용해 html-form 형식으로 전달해보겠습니다.(query paramete..

Spring 2021.11.24

Bean Validation

대부분의 특정 필드에 대한 검증 로직은 일반적인 로직이고 공통적이다. 이런 검증 로직을 모든 프로젝트에 적용하도록 공통화, 표준화한것이 바로 Bean Validation!! public class Item { private Long id; @NotBlank private String itemName; @NotNull @Range(min = 1000, max = 1000000) private Integer price; @NotNull @Max(9999) private Integer quantity; } Bean Validation이 뭔데? Bean Validation은 특정한 구현체가 아니라 Bean Validation 2.0(JSR-380)이라는 기술 표준. 검증 애노테이션과 여러 인터페이스의 모음. 이..

Spring/Spring MVC 2021.07.14

HTTP Request Message

단순 텍스트 Request Parameter와 다르게, HTTP Message Body를 통해 데이터가 직접 넘어오는 경우는 @RequestParam, @ModelAttribute를 사용할 수 없다. 먼저 단순한 텍스트를 HTTP Message Body에 담아서 전송하고, 이를 InputStream으로 읽어보자. Spring 공식 문서를 참조하면 알 수 있듯이, InputStream과 OutputStream을 직접 받을 수 있다. 따라서 아래와 같이 코드를 작성할 수 있다. 스프링 MVC는 다음 파라미터를 지원한다. HttpEntity : HTTP header, body 정보를 편리하게 조회 메시지 바디 정보를 직접 조회 요청 파라미터를 조회하는 기능과 관계 없음 HttpEntity는 응답에도 사용 가능..

Spring/Spring MVC 2021.05.09
반응형