전체 글
-
[Spring] 입력(전송) 값 검증(Validation)legacy/Spring 2023. 5. 23. 12:10
본 글은 다크모드에 최적화되어 있습니다. 스프링에서는 form을 통해 전달받은 값에 대하여 값을 검증하는 기능과 API JSON 요청을 통해 전달받은 값에 대하여 검증을 수행할 수 있다. 설명에 들어가기 앞서 결론은 다음과 같다. form으로 전송한 값을 @ModelAttribute를 통해 받으면 특정 필드가 바인딩에 실패해도 검증을 수행한다. API JSON 통신으로 전송한 값을 @RequestBody를 통해 받으면 필드 바인딩에 실패하면 검증 자체를 수행하지 않는다. 본 글은 @ModelAttribute와 @RequestBody 애너테이션 설명 글이 아니므로 간단하게만 설명하낟. @ModelAttirbute : Http 요청으로 전송한 값을 Controller에서 필드로 받을 필요 없이 객체로 바로 ..
-
[Spring] consumes, produceslegacy/Spring 2023. 5. 10. 16:12
서버는 클라이언트의 각각 다른 요청에 대하여 다른 방식으로 처리할 수 있으며, 클라이언트는 서버에서 반환해주는 데이터를 제한하여 받을 수 있다. 그것을 가능하게 해주는 것이 바로 consumes와 produces이다. consumes : Content-type헤더, 서버에서 클라이언트의 요청을 제한적으로 받아들인다. produces : Accept 헤더, 클라이언트는 서버가 반환하는 데이터를 제한적으로 받아들인다. Spring에서는 클라이언트의 요청을 제한적으로 처리할 수 있는 다음의 기능을 제공한다. // consumes = "처리 가능한 Media Type" @GetMapping(value = "/mapping-test", consumes = "text/plain") 위와 같이 사용하면 클라이언트의 ..