Spring Boot Format Date in Request Param field as DTO


To change the date format of a request parameter field in a DTO while sending in a Spring Boot application, you can use the @DateTimeFormat annotation provided by Spring Framework.

Here is an example of how to use @DateTimeFormat to change the date format of a request parameter field in a DTO:

import org.springframework.format.annotation.DateTimeFormat;

public class MyRequestDTO {

    @DateTimeFormat(pattern = "dd/MM/yyyy")
    private LocalDate date;

    // getter and setter
}

In this example, the @DateTimeFormat annotation is used to specify the pattern for the input date, which is expected to be in the format “dd/MM/yyyy”. The LocalDate field will be automatically parsed from the input using the specified pattern.

When sending this DTO as a request parameter, the date field will be automatically converted to a string using the specified format, and included in the request URL as a query parameter.

For example, if you have a MyController class with a myEndpoint method that accepts a MyRequestDTO object as a request parameter, you can send a request to this endpoint like this:

http://localhost:8080/my-endpoint?date=01/05/2023

In this example, the date field in the MyRequestDTO object will be set to 2023-05-01 (parsed using the dd/MM/yyyy format).