json - 如何使用 Spring 5 从 JSON 响应中仅检索直接子对象
问题描述
我已经使用 SpringBoot2 和 Spring 5 构建了一个小型微服务,它公开了一个 REST 服务(HTTP GET 方法),并且在内部使用了另一个 REST GET 服务(第三方 API)。当我调用我的服务(GET)时使用 Postman,然后我得到一个 JSON 响应,但问题是我得到一个完整的整个对象作为响应,如下所示:-
[
{
"id": "1",
"name": "Open Catalogue",
"subcategories": [
{
"id": "106",
**"name": "Components",**
"subcategories": [
{
"id": "816",
"name": "Power Supplies",
"subcategories": [
{
"id": "814",
"name": "Rechargeable Batteries",
"subcategories": [],
"sample": {
"empty": true,
"lazy": false,
"async": false
}
},
{
"id": "829",
"name": "Battery Chargers",
"subcategories": [],
"samples": {
"empty": true,
"lazy": false,
"async": false
}
},
我在 post man 中使用的服务 URL 是这样的:- http://localhost:8080/test-search?searchKey=ball 所以我的要求是每当用户通过子类别名称使用此服务时,只有该子类别的详细信息连同其直接子项详细信息一起返回,而不是子项的子项。这里的 URL 中的 searchKey 只不过是搜索子类别的自由文本。例如,当我说:- http://localhost:8080/test-search?searchKey=Components
那么只有下面的细节应该像这样返回:-
"id": "106",
"name": "Components",
"subcategories": [
{
"id": "816",
"name": "Power Supplies",
响应不应包含电源的子类别,即“子类别”:[“id”:“814”,“名称”:“可充电电池”,
在准备 JSON 响应或首先获取整个对象然后开始过滤时,是否有任何有效的方法来进行过滤?
请指教,谢谢
解决方案
推荐阅读
- azure - 使用 c# 检索要存储到 Cosmos 中的 Blob 存储文件名
- bash - 用于删除整个 csv 文件的自动换行的 Linux 命令
- python - Python日期时间和函数
- reactjs - React Redux Connect DefaultRootState 输入
- php - 在 PHP 中多次返回
- javascript - 我可以在创建后立即获取文档密钥吗?
- javascript - 抓取网站时在 NodeJs 上获取 POST 请求并将结果转换为 DOM
- reactjs - 如何用反应替换代理 API url?
- silverstripe - 在 SilverStripe 后端,有没有办法用模板呈现列?
- laravel - Laravel 中止()与返回响应()-> json()