@ModelAttribute 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

Spring Type Converter

문자를 숫자로 변환하거나 숫자를 문자로 변환해야하는 것과 같은 타입을 변환하는 경우가 많다. 예를 들면 아래와 같다. 위와 같이 쿼리스트링으로 넘어온 파라미터를 받고 싶다. 이를 위해 "/hello-v1?data=5"라는 요청을 보내면 getParameter를 통해 값을 받을 수 있다. 하지만 이는 숫자타입가 아니라 문자타입이다(String). 따라서 직접 Integer타입으로 변환하는 과정을 거쳐야한다. 하지만 무의식 중에 우리가 아무렇지 않게 사용하던 @RequestParam을 떠올려보자. @RequestParam Integer data 이와 같이 별도의 타입 변환과정 없이 손쉽게 개발자가 원하는 타입으로 변환된다. 이는 스프링이 중간에서 타입을 변환해주기 때문이다! 이러한 역할을 하는 것이 바로 T..

Spring/Spring MVC 2021.08.03

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
반응형