如何删除json rest响应中的null参数?

mem*_*und 3 java rest spring json

我正在创建一个rest服务,spring并希望提供json响应:

@RequestMapping(value = "/test",
        method = RequestMethod.GET,
        produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public MyResponse content() {
    return rsp;
}
Run Code Online (Sandbox Code Playgroud)

MyResponse可能包含null不应在JSON响应中返回的值(这些参数应该被删除).

@XmlRootElement
class MyResponse {
}
Run Code Online (Sandbox Code Playgroud)

那可能吗?

小智 13

试试这个 :

@JsonInclude(JsonInclude.Include.NON_NULL)
class MyResponse {
...
}
Run Code Online (Sandbox Code Playgroud)

您需要更新您的依赖项并导入:

import com.fasterxml.jackson.annotation.JsonInclude;
Run Code Online (Sandbox Code Playgroud)


rob*_*thy 7

全局删除null属性。

spring.jackson.default-property-inclusion = non_null
Run Code Online (Sandbox Code Playgroud)