java - 如何始终为 ResponseEntity 返回 JSON 对象(不是数组)>?
问题描述
根据此API 指南,在响应正文中,您必须始终返回 JSON 对象(而不是例如数组)作为顶级数据结构以支持未来的可扩展性。
是否有一种方便而优雅的方式来使用 Spring 实现这一点(无需将每个方法的返回类型包装到包装器对象中)?是否有关于如何自定义 spring 如何将集合序列化为其 JSON 表示的配置属性或扩展点?
所以而不是
[
{
"Prop1": "Val1",
"Prop2": "Val2"
},
{
...
}
]
以下方法
@GetMapping
public ResponseEntity<Collection<MyType>> get() {
…
}
应该返回
{
"MyType":[
{
"Prop1": "Val1",
"Prop2": "Val2"
},
{
...
}
]
}
解决方案
您可以尝试使用ResponseBodyAdvice。
但是,如果您要在控制器处理后修改响应,那么我猜它会破坏 api 文档响应格式,以防万一。
推荐阅读
- delphi - 如何从 TMenuItem 上的 ImageList 绘制透明位图?
- python - 使用熊猫数据框的多个图
- javascript - 单击 Book 时以模式打开 iframe
- sql - 在 SQL 中分组后添加额外的总行
- python - 带有请求和已安装 SSL 证书的 Python Https 查询 - 错误 SSL 模块不可用
- dart - 如何提高颤振视频的速度?
- spring-boot - 在 kubernetes pod 中访问 spring boot 控制器端点
- c - 使用简单回溯的 C 语言中的 TSP 问题
- android - 如何检查时间设置是否在android中是自动的
- azure - 如何禁用 Azure 中的所有日志