【发布时间】:2016-04-09 16:41:14
【问题描述】:
我目前正在开发一个 Spring Boot(版本 1.3.1)微服务,它连接到 MongoDB 后端并通过控制器向客户端提供后端数据(例如:Provider 对象)。
该项目有一个扩展 ResourceSupport 的类文件(例如:ProviderResourceSupport)和另一个扩展 ResourceSupportAssembler 类(例如:ProviderAssembler)的类,用于生成指向响应对象的链接。
理想情况下,我的要求是根据需要自定义 JSON 对象,因此使用 @JsonView(点击此链接 - https://spring.io/blog/2014/12/02/latest-jackson-integration-improvements-in-spring)并在 maven 项目中添加 Spring Jackson 依赖项。
我还在 application.properties 中添加了 spring.jackson.serialization-inclusion=non-null & spring.jackson.serialization.indent_output=true。
对于控制器中的方法之一,响应将为 'ResponseEntity>' ,如果数据不存在,此方法将返回“null”响应。
我在我的实体对象和控制器上添加了@JsonInclude(Include=NON_NULL),但仍然得到“空”响应。
我不希望将“null”作为响应,并请求您帮助我,以防有人遇到类似问题。
【问题讨论】:
-
如果数据不存在应该返回什么?
-
嗨,jny,它应该只返回 HTTP 状态代码 404。我可以检查数据,如果它为空,我将状态代码填充为 404。响应状态代码是右侧填充了“404”,但我应该看不到任何数据。相反,我看到的是“空”响应。
标签: json spring serialization jackson