legacy/Spring (60) 썸네일형 리스트형 [Spring-Error] BeanValidation groups groups 기능 사용할 때 class가 아닌 interface로 만들어야한다. // public interface SaveCheck {} public class SaveCheck{} exception [Request processing failed; nested exception is javax.validation. ValidationException: HV000045: A group has to be an interface. hello.itemservice.domain.item.SaveCheck is not.] with root cause [Spring] 검증 validate Validator란? 스프링에서 사용자가 입력한 값에 대해서 올바른지에 대한 검증기를 제공한다. 바로 Validator 인터페이스이다. 상품의 가격을 입력해야 하는데 숫자가 아닌 문자를 입력했거나 제한된 값을 넘어서거나 등등 이에 대응할 수 있게 해준다. Validation 인터페이스는 다음과 같은 메서드를 제공한다. public interface Validator { /** * Can this {@link Validator} {@link #validate(Object, Errors) validate} * instances of the supplied {@code clazz}? * This method is typically implemented like so: * return Foo.class.isAs.. [Spring] 입력(전송) 값 검증(Validation) 본 글은 다크모드에 최적화되어 있습니다. 스프링에서는 form을 통해 전달받은 값에 대하여 값을 검증하는 기능과 API JSON 요청을 통해 전달받은 값에 대하여 검증을 수행할 수 있다. 설명에 들어가기 앞서 결론은 다음과 같다. form으로 전송한 값을 @ModelAttribute를 통해 받으면 특정 필드가 바인딩에 실패해도 검증을 수행한다. API JSON 통신으로 전송한 값을 @RequestBody를 통해 받으면 필드 바인딩에 실패하면 검증 자체를 수행하지 않는다. 본 글은 @ModelAttribute와 @RequestBody 애너테이션 설명 글이 아니므로 간단하게만 설명하낟. @ModelAttirbute : Http 요청으로 전송한 값을 Controller에서 필드로 받을 필요 없이 객체로 바로 .. [Spring] consumes, produces 서버는 클라이언트의 각각 다른 요청에 대하여 다른 방식으로 처리할 수 있으며, 클라이언트는 서버에서 반환해주는 데이터를 제한하여 받을 수 있다. 그것을 가능하게 해주는 것이 바로 consumes와 produces이다. consumes : Content-type헤더, 서버에서 클라이언트의 요청을 제한적으로 받아들인다. produces : Accept 헤더, 클라이언트는 서버가 반환하는 데이터를 제한적으로 받아들인다. Spring에서는 클라이언트의 요청을 제한적으로 처리할 수 있는 다음의 기능을 제공한다. // consumes = "처리 가능한 Media Type" @GetMapping(value = "/mapping-test", consumes = "text/plain") 위와 같이 사용하면 클라이언트의 .. 이전 1 ··· 5 6 7 8 다음