Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除json rest响应中的空参数?_Java_Json_Spring_Rest - Fatal编程技术网

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

Java 如何删除json rest响应中的空参数?,java,json,spring,rest,Java,Json,Spring,Rest,我正在使用spring创建rest服务,并希望提供json响应: @RequestMapping(value = "/test", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public MyResponse content() { return rsp; } MyResponse可能包含null值,这些值不应在JSON响应

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

@RequestMapping(value = "/test",
        method = RequestMethod.GET,
        produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public MyResponse content() {
    return rsp;
}
MyResponse
可能包含
null
值,这些值不应在
JSON
响应中返回(应删除这些参数)

可能吗?

试试这个:

@JsonInclude(JsonInclude.Include.NON_NULL)
class MyResponse {
...
}
您需要更新依赖项并导入以下内容:

import com.fasterxml.jackson.annotation.JsonInclude;

全局删除
null
属性

spring.jackson.default-property-inclusion = non_null

你使用哪个JSON映射器?我不知道。我只是使用spring boot和
@RestController
注释。Jackson是默认的spring json映射器。这是一个非常巧妙的技巧,非常优雅和方便,因为我几乎总是使用@JsonInclude(JsonInclude.Include.NON_NULL)注释我的所有DTO。谢谢
spring.jackson.default-property-inclusion = non_null