我在一次采访中被问到您有一个API-比如说getcustomer
。此API返回客户的详细信息。但是为了减小REST响应的大小,我们只需要返回有价值的属性。因此,如果客户没有middlename
,我们不应该在响应中看到{middlename=null}
。我们怎么能这样做呢?
使用Jackson可以通过两种方式从JSON序列化中排除空值:
>
通过在ObjectMapper中设置属性jsonInclude.Include.non_null,全局(对于所有类),如ritesh.garg所建议的那样
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
在单类级别,使用@JSONInclude(include.non_null)注释类,如下所示:
@JsonInclude(Include.NON_NULL)
public class Customer {
}
我制作了一个返回UserSettings对象数组的服务: 当我在URL http://localhost:8181/settings?ids=123&fields=customdata,user_id上发出GET请求时,我会得到以下信息:
我在Spring有Rest控制器。 控制器: 服务: 存储库: 实体: 目前当我在Postman(或浏览器)中使用方法@GetMap在获得JSON对象响应: 作为回应,我需要字符串格式的字段“id”,看起来像: 如何以字符串格式将JSON对象fielt“id”作为ObjectId返回?
我刚刚开始使用Spring,希望有知识渊博的人可以帮助我。我有一个使用SpringRest数据的SpringRest存储库。我正在尝试解决如何执行以下操作。 > 公共接口ReadOnlyRepository扩展存储库{T findOne(ID id); } 公共接口ContentRepository扩展了ReadOnlyRepository } //我需要用“...”动态替换的字段@实体公共类内容
问题内容: 我们要求我们仅返回搜索结果中的源字段,而不包含任何元数据。通过搜索,我发现使用Elasticsearch无法做到这一点,但是我确实找到了在该线程中使用插件的参考: 被链接的插件是这个: https://github.com/imotov/elasticsearch-just- source/blob/master/src/main/java/org/elasticsearch/exam
我们要求只返回搜索结果中的源字段,而不返回任何元数据。通过搜索,我发现这在elasticsearch中是不可能的,但我确实在这个线程中找到了一个可能使用插件的引用: 筛选出元数据字段,只返回elasticsearch中的源字段 链接的插件是这样的: 我还在学习elasticsearch,但是有人能解释一下我将如何在我们的elasticsearch配置中实现和部署这个插件吗? 谢谢,吉姆
我希望在spring boot中返回类似以下内容的json响应: 我的RestController如下所示 但我得到的反应是这样的