Уникальные идентификаторы для каждого ресурса в RESTful API? - PullRequest
3 голосов
/ 18 октября 2011

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

Есть ли плюсы и минусы для каждого сценария?

Чтобы привести пример.

Это было бы хорошо из принципов REST?

http://api.example.com/account/1/users/1
...
http://api.example.com/account/50/users/1

или этот подход рекомендуется?

http://api.example.com/account/1/users/{UNIQUE_IDENTIFIER}
...
http://api.example.com/account/50/users/{ANOTHER_UNIQUE_IDENTIFIER}

Ответы [ 3 ]

2 голосов
/ 19 октября 2011

Вы открываете действительные номера пользователей, когда первый пользователь всегда равен 1. Кто-то знает, что в любой учетной записи также есть пользователь 1. Я не говорю, что вы должны скрывать идентификаторы пользователей только из-за неясности, но зачем делать это легко? кто-то, чтобы найти идентификаторы пользователей в другой учетной записи?

2 голосов
/ 21 декабря 2011

Поскольку с точки зрения внешней системы, использующей ваш REST API, весь адрес должен рассматриваться как «идентификатор» для этого объекта ресурса, поэтому ваш первый пример в порядке.

2 голосов
/ 18 октября 2011

Все, что действительно имеет значение, - это то, что каждый ресурс имеет уникальный идентификатор. Оба ваших примера достигают этого, так что вы, кажется, в порядке (с грубо говоря)

Я не вижу веской причины использовать один над другим. Я бы выбрал все, что имеет больше смысла для вашей реализации.

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