Метод отдыха, ссылка с тем, что мы возвращаем - PullRequest
0 голосов
/ 19 ноября 2018

Я прочитал все лучшие рекомендации по Restfull API, но они всегда используют простые примеры. Я часто читаю такие вещи, как:

GET  /cars      -> return all cars
PUT  /cars/1    -> update car with id 1
etc...

Итак, мы называем метод отдыха "машинами", потому что имеем дело с автомобильными ресурсами. Но как насчет «продвинутых операций»?

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

Так что я могу создать:

GET  /users/1/10   ->  return users data if user with id 1 is linked to the account with id 10

Хорошо ли называть "/ users" мой метод? Зная, что целью моего метода на самом деле является не получение пользовательских данных, а проверка, существует ли его учетная запись в базе данных

Другими словами, должны ли мы называть наши методы Rest в зависимости от данных, которые мы возвращаем, или в зависимости от цели метода?

1 Ответ

0 голосов
/ 19 ноября 2018
  1. если у одного пользователя более одной учетной записи и если вы используете две коллекции для пользователей и учетных записей, то для доступа к конкретному ресурсу маршрут должен быть следующим:

/ пользователи / {идентификатор пользователя} / счета / {ACCOUNTID}.

Вы всегда должны поддерживать отношения между ресурсами. В этом случае учетная запись является подресурсом пользователя.

  1. Или вы можете использовать фильтрацию следующим образом

/ пользователей / {идентификатор пользователя} / счета? ACCOUNTID = 10

...