Как издеваться над сервером json с глубокой фильтрацией?

Я имею routes.json а также db.json

маршрут

  "/api/*/_search?*=:searchstring": "/$1/?name_like=:searchstring",
  "/api/*": "/$1"

DB.json

 {
  "cats": {
    "cats": []
  },
  "bats": [],
  "recordList": {
    "records": [
      {id:1, name: 'abc'},
      {id:2, name: 'def'},
      {id:3, name: 'ghi'}
    ]
  }
}

"/api/*": "/$1" получает полные записи, как показано ниже:

  {
    "records": [
      {id:1, name: 'abc'},
      {id:2, name: 'def'},
      {id:3, name: 'ghi'}
    ]
  }

Если ищется abc, он должен вернуть

{
  records: [{id: 1, name: 'abc'}]
}

Пробовал с этим маршрутом:

 "/api/*/_search?*=:searchstring": "/$1/?name_like=:searchstring"

Что может быть не так в конфигурации маршрутизации или мы должны определить отдельный маршрут? Ссылки на документы, но все же не повезло.

1 ответ

Мне удалось сделать это, построив db.js вместо того, чтобы полагаться на db.json,

Нам нужно создать отдельные маршруты для обработки этого, как показано ниже:

 "/api/records/_search?*=:searchstring": "/api/recordsSearch?name_like=:searchstring",
  "/api/*": "/$1"

/records = {Object}
/recordsSearch = [array]
Другие вопросы по тегам