본문 바로가기

ResponseEntity4

Spring Web MVC - @ResponseBody, ResponseEntity Spring Web MVC - 핸들러 메소드 4 @RequestBody @RequestBody 는 핸들러의 아규먼트로 받아 올 수 있다. 요청 본문(body)에 들어있는 데이터를 HttpMessageConverter를 통해 변환한 객체로 받아올 수 있다. HttpMessageConverter : 스프링 MVC 설정 (WebMvcConfigurer) 에서 설정할 수 있다. 이 때 configureMessageConverters 를 오버라이딩하면 기본 메시지 컨버터를 대체하게 되어, 기본설정이 바뀔 수 있으므로 조심한다. 대신 extendMessageConverters 를 이용하면 원하는 메시지 컨버터를 추가할 수 있다. (객체를 XML으로 바꾼다든지) 기본 컨버터는 WebMvcConfigurationSup.. 2021. 2. 21.
Spring Web MVC - 파일업로드, 파일다운로드 Spring Web MVC - 파일업로드, 다운로드 파일 업로드 - MultipartFile MultipartFile 은 파일 업로드시 사용하는 메소드 아규먼트이다. MultipartResolver 라는 빈이 설정 되어 있어야 사용이 가능하다. 단, 스프링부트는 자동 설정이 되어있다. 이를 사용하면 POST 요청의 multipart/form-data 정보에 들어있는 파일을 참조할 수 있다. 간단한 파일업로드를 구현해보자. @Controller public class FileController { @GetMapping("/files") public String fileUploadForm(Model model) { return "files/index"; } @PostMapping("/files") publi.. 2021. 2. 21.
Spring REST API - 조회 테스트 Spring REST API - 조회 이벤트 목록 조회 이벤트 목록은 조회하는 API를 만들어보자 우선 만들 요건은 Event 30개가 담긴 목록이다. 각 이벤트는 Page 정보를 담고 있다. TDD 방식으로 먼저 테스트 작성 후 그에 맞는 소스코드를 만든다. @Test @DisplayName("30개의 이벤트를 10개씩 묶어서 두번재 페이지 조회") public void queryEvents() throws Exception { // Given IntStream.range(0, 30).forEach(this::generateEvent); // When this.mockMvc.perform(get("/api/events") .param("page", "1") .param("size", "10") .par.. 2021. 1. 28.
Spring REST API - BadRequest Spring REST API - Bad Request 빈 입력값 처리 JSR 303 라이브러리에 있는 Bean Validation 을 사용할 수 있다. pom.xml org.springframework.boot spring-boot-starter-validation 각 필드마다 필드의 속성들을 어노테이션으로 달아준다. @Builder @AllArgsConstructor @NoArgsConstructor @Data public class EventDto { @NotEmpty private String name; @NotEmpty private String description; @NotNull private LocalDateTime beginEnrollmentDateTime; @NotNull private.. 2021. 1. 23.
728x90