REST API область поиска - PullRequest
0 голосов
/ 05 ноября 2019

Интересно, каков рекомендуемый способ разделения конечных точек поиска. Должны ли мы вообще разделять поиски по сущностям?

Давайте представим, что у нас есть две сущности.

  1. Пользовательская сущность, хранящаяся в БД в пользовательской таблице. Доступ к нему можно получить по следующему URL

GET /api/users/{userId}

Контактная информация сущности, хранящаяся в БД у пользователя contact_info. можно получить доступ по следующему URL

GET /api/users/{userId}/contact-info

Затем мы хотим добавить поддержку сложных поисков.

  1. Лучше ли иметь две отдельные конечные точки для каждой сущности?
    Тогда мы можем иметь четкое разделение углов.
    Например:
POST /api/users/_search
POST /api/users/contact-info/_search
Или лучше иметь одну конечную точку поиска, потому что эти объекты связаны?
POST /api/users/_search

Но потом я боюсь, что эта конечная точка раздутая и часто становится запутанным беспорядком. В частности, с внутренней точки зрения хранимые процедуры, поддерживающие эту конечную точку, становятся довольно сложными и подверженными ошибкам.

Существует ли какое-то практическое правило при созданииновая конечная точка поиска?

Спасибо за потраченное время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...