Rub*_*bis 12 arrays json jackson spring-boot localdate
我正在使用 springBoot 开发 REST APi。我在 GET 端点的响应模型中有一个 LocalDate 字段“firstDate”。但是这个 LocalDate 可以在响应的 json 中序列化为数组!
"firstDate": [
2021,
3,
1
],
Run Code Online (Sandbox Code Playgroud)
因此,为了使用此 APi,我必须在 DTO 中将此日期定义为数组!这不好!我的 API 响应模型是用 swagger 生成的,所以我不能使用 @JsonFormat(pattern="yyyy-MM-dd")
您能帮助我并告诉我在这种情况下如何正确序列化 LocalDate 吗?
非常感谢。
我定义为 LocalDateTime 的日期被序列化为数组,如下所示:
"timestamp": [
2023,
2,
15,
10,
30,
45,
732425200
],
Run Code Online (Sandbox Code Playgroud)
这是我在 WebConfig.java 中所做的:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
// other configs
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
WebMvcConfigurer.super.extendMessageConverters(converters);
converters.add(new MappingJackson2HttpMessageConverter(
new Jackson2ObjectMapperBuilder()
.dateFormat(new StdDateFormat())
.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.build()));
}
}
Run Code Online (Sandbox Code Playgroud)
现在一切又好了:
"timestamp": "2023-02-15T10:32:06.5170689",
Run Code Online (Sandbox Code Playgroud)
希望这对您有所帮助。一些帮助我实现这一目标的主题:
在 Spring Rest API 中配置 LocaldateTime
如何自定义 Spring Boot 隐式使用的 Jackson JSON 映射器?
无法使用 Jackson 将 java.time.LocalDate 序列化为字符串
归档时间: |
|
查看次数: |
7984 次 |
最近记录: |