Я создал небольшую микросервисную службу, используя SpringBoot2 и Spring 5, для которой доступна служба REST (метод HTTP GET) и которая внутренне использует другую службу REST GET (сторонний API). Используя Postman, когда я вызываю свой сервис (GET), я получаю ответ 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
}
},
URL моей службы, используемый в почтовом отделе, выглядит следующим образом: -
http://localhost:8080/test-search?searchKey=ball
Таким образом, мое требование заключается в том, что всякий раз, когда пользователь использует эту услугу по имени подкатегории, должны возвращаться только данные этой подкатегории вместе с ее непосредственными дочерними данными, а не дочерний элемент ребенка.
Здесь searchKey в URL - это не что иное, как свободный текст для поиска подкатегории. Например, когда я говорю:
http://localhost:8080/test-search?searchKey=Components
тогда только следующие детали должны быть возвращены следующим образом: -
"id": "106",
"name": "Components",
"subcategories": [
{
"id": "816",
"name": "Power Supplies",
Ответ не должен иметь подкатегорий источников питания, т.е. "подкатегории": ["id": "814",
"name": "Аккумуляторы",
Есть ли эффективный способ выполнить фильтрацию при подготовке ответа JSON или сначала получить весь объект, а затем начать фильтрацию?
Посоветуйте, пожалуйста, спасибо