我有一个简单的API来处理Entity
对象(如下所示)。
@Data
public class Entity {
private LocalDateTime createdAt;
}
如下所示的控制器:
@RestController
@AllArgsConstructor
class MyController {
private final EntityService entityService;
@GetMapping
Flux<Entity> getEntities() {
return entityService.all(); // returns all entities from some storage location...
}
}
当我向我的API发出GET请求时,我收到以下响应:
{
"createdAt": "2022-07-10T20:39:01.147915"
}
现在,我的API被设计为从不同的来源使用,这意味着我需要向我的应用程序添加一些自定义CORS配置。
为此,我创建了如下文件:
@Configuration
@EnableWebFlux
public class WebConfig implements WebFluxConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("GET", "POST")
.allowedOrigins("http://localhost:3000");
}
}
在我的API中添加了这个并且没有更改任何其他内容后,响应更改为:
{
"createdAt": [
2022,
7,
10,
20,
39,
1,
147915000
]
}
有谁知道是什么导致了这种行为吗?由于
尝试将此注释放在您的'createdAt'字段
` @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ", shape = JsonFormat.Shape.STRING)`
看看这个问题