spring
@DateTimeFormat
핑구뱅구
2023. 2. 17. 09:03
파라미터로 사용되는 인스턴스 변수에 @DateTimeFormat을 적용해서 변환이 가능한다.
1. 파라미터로 받을 객체를 만든다.
2. dueDate에 @DateTimeFormat을 쓰고 pattern을 기입한다.
package com.example.domain;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class TodoDTO {
private String title;
@DateTimeFormat(pattern = "yyyy/MM/dd")
private Date dueDate;
}
3. 컨트롤러
@Controller
@RequestMapping("/sample/*")
@Log4j
public class SampleController {
@GetMapping("/ex03")
public String ex03(TodoDTO todo) {
log.info("todo: " + todo);
return "ex03";
}
}
4. http://localhost:8087/sample/ex03?title=test&dueDate=2018/01/03 URL 요청
5. Server에 찍히는 log
2023-02-17 08:50:35 INFO : com.example.controller.SampleController >> todo: TodoDTO(title=test, dueDate=Mon Jan 03 00:00:00 KST 2018)
잘못된 요청
1. http://localhost:8087/sample/ex03?title=test&dueDate=20180103 URL 요청
응답 ) HTTP 상태 400 – 잘못된 요청