如何解决如何在不更改全局日期格式的情况下在路由器功能的 post 请求中接受不同的日期格式
我有一个 Spring Boot 应用程序。路由器功能的 POST 请求正在获取 Employee 对象列表,其中 Employee 类中的出生日期预计为 yyyy-MM-dd 格式,而接收到的 json 正文的出生日期为 dd/MM/yyyy 格式。
由于我不想在全局级别更改日期格式,有什么方法可以将 dd/MM/yyyy 出生日期反序列化为 yyyy-MM-dd 通过请求正文。>
@JsonFormat(pattern = "yyyy-MM-dd") 将不起作用,因为它期望进入请求正文的日期应该采用 yyyy-MM-dd 格式,而在我的情况下,日期采用 dd/MM/yyyy 格式.
员工Dto
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonNaming(SnakeCaseStrategy.class)
public class EmployeeDto {
private String name;
private String gender;
private LocalDate dateOfBirth;
}
路由器配置
@Bean
public RouterFunction<ServerResponse> employeeRoutes(EmployeeHandler employeeHandler) {
return route(POST("/employees").and(accept(APPLICATION_JSON)).and(contentType(APPLICATION_JSON)),employeeHandler::saveEmployees);
}
员工处理程序
public class EmployeeHandler {
private final EmployeeService employeeService;
public Mono<ServerResponse> saveEmployees(ServerRequest serverRequest) {
return ServerResponse.ok()
.body(serverRequest.bodyToMono(new ParameterizedTypeReference<List<EmployeeDto>>() {})
.flatMap(EmployeeService::saveEmployees)
.doOnError(throwable -> log.error("Could not save employees",throwable)),Map.class);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。