SpringBoot/spring mvc
Springboot MVC 파헤치기(13) Collection Validation 적용
Springboot MVC 파헤치기(13) Collection Validation 적용
2022.05.19이전에 객체에 대해서 Validation을 적용하는 방법에 대해서 알아봤습니다. 하지만 Collection형태로 넘어올 때 Validation이 동작하지 않습니다. 따라서 이번 포스팅은 Collection으로 넘어올 때도 마찬가지로 Validation이 동작하도록 코드를 만들겠습니다. 1. Collection Test 단일 객체는 이전에 확인을 했으므로 컬렉션으로 넘겼을 Validation이 동작하는지 확인하겠습니다. Controller 메서드 private final CustomValidator customValidator; @PostMapping("/validation/v7") public ResponseEntity validationV7(@Valid @RequestBody List dto){ ret..
Springboot MVC 파헤치기(12) ControllerAdvice 알아보기
Springboot MVC 파헤치기(12) ControllerAdvice 알아보기
2022.05.17ControllerAdvice 혹은 RestControllerAdvice가 하는 일은 Controller에서 발생한 예외를 받아 처리해주는 역할을 합니다. 저희는 이것을 어노테이션을 붙여주는 것만으로 사용할 수 있습니다. 간단한 예시를 보고, 어떻게 동작하는지 살펴보겠습니다. 1. ControllerAdvice 예시 @RestControllerAdvice(basePackages = "gugus.pleco.domain") public class ControllerAdvice { @ExceptionHandler(UserDuplicatedException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public ErrorDto duplicate1(UserDuplicate..
Springboot MVC 파헤치기(11) Validation 동작과정
Springboot MVC 파헤치기(11) Validation 동작과정
2022.04.23Validation은 @ModelAttribute 혹은 @RequestBody의 ArgumentResolver가 동작한 후, 검증을 진행합니다. 밑에서 알아보겠습니다. ArgumentResolver의 자세한 동작과정은 아래 링크에서 확인 부탁드립니다. https://dingdingmin-back-end-developer.tistory.com/entry/Springboot-MVC-%ED%8C%8C%ED%97%A4%EC%B9%98%EA%B8%B08-ModelAttribute-RequestParam-PathVariable-%EB%8F%99%EC%9E%91-%EA%B3%BC%EC%A0%95 Springboot MVC 파헤치기(8) @ModelAttribute, @RequestParam, @PathVariable..
Springboot MVC 파헤치기(10) Validation 유효성 검증
Springboot MVC 파헤치기(10) Validation 유효성 검증
2022.04.201. Validation이란? 데이터 값의 유효성을 검증하는 것입니다. 유효성 검증에는 다양한 유형이 있습니다. ex) email형식, password설정 시 특수문자와 길이 지정, 숫자만 입력 가능 이러한 것들을 검증합니다. Controller내에서 하나씩 검증하는 것과 BindingResult, Bean Validation, RestController를 이용할 때 사용하는 ResponseEntityExceptionHandler에 대해서 하나씩 알아보겠습니다. 일단 사용되는 Dto(데이터 전송 목적 객체)와 Controller에 대해서 살펴보겠습니다. 1. UserDto 간단하게 email과 password, age를 입력받습니다. 여기서 조건은 1. email -> email 형식만, 공백 x 2. ..
Springboot MVC 파헤치기(9) ViewResolver, HttpMessageConverters
Springboot MVC 파헤치기(9) ViewResolver, HttpMessageConverters
2022.03.16ViewResolver란? 사용자가 요청한 정보를 랜더링(html을 만드는 과정)하는 역할을 합니다. BeanNameViewResolver의 경우 DispatcherServlet 내에서 랜더링이 render()로 진행되고, InternalResourceViewResolver는 InternalResourceView의 forward()를 통해서 진행됩니다. Springboot는 container를 초기화할 때 InternalResoureceViewResolver와 BeanNameViewResolver를 bean으로 자동 등록합니다. BeanNameViewResolver은 bean이름으로 찾아서 반환하고, InternalResourceViewResolver는 JSP를 사용할 때 사용됩니다. 별도로 Resolv..
Springboot MVC 파헤치기(8) @ModelAttribute, @RequestParam, @PathVariable @ResponseBody @RequestBody 동작 과정
Springboot MVC 파헤치기(8) @ModelAttribute, @RequestParam, @PathVariable @ResponseBody @RequestBody 동작 과정
2022.03.15@ModelAttribute: 클라이언트가 전달하는 값을 객체로 맵핑해주는 역할을 합니다. HTTP Body 데이터 혹은 HTTP 파라미터를 주입합니다. 이때 생성자나 Setter로 주입하기 때문에 Setter혹은 생성자가 있어야 합니다. @RequestParam: 클라이언트가 전달하는 HTTP 요청 Parameter 혹은 HTTP Body의 정보를 전달받기 위해서 사용됩니다. @PathVariable: @RequestMapping의 URI의 경로 변수를 넣어주는 역할을 합니다. @RequestBody: HTTP Body에 담겨온 정보를 JSON 형식으로 변환하여 객체와 맵핑해주는 역할을 합니다. @ResponseBody: HTTP Body에 정보를 전달하기 전에 객체를 JSON 형식으로 변환하여 보내주..