Как определить REST URI для ресурса? - PullRequest
0 голосов
/ 19 января 2012

Допустим, у меня есть коллекция кандидатов, к которой можно получить доступ через

/applicants

Заявителя можно однозначно идентифицировать двумя разными способами: по ssn или по идентификационному номеру.

Как бы я указал свои GET для конкретного заявителя?

Обычно для уникальных идентификаторов я бы делал

/applicants/{id}

но в этом случае у меня есть два разных уникальных идентификатора. Любые предложения о правильном способе обработки этого.

Кажется неправильным делать что-то вроде

/applicants/{id}
/applicants/ssn/{ssn}

1 Ответ

3 голосов
/ 19 января 2012

Быть уникальным и быть идентификатором - это две разные концепции. Идентификатор (т. Е. id) был бы более подходящим для идентификации и определения местоположения ресурса через URI, поскольку:

  1. Вы (вероятно) полностью контролируете идентификатор и его жизненный цикл.
  2. Хотя SSN сегодня может быть уникальным, правительство может изменить способ работы SSN завтра. Я сам не люблю связывать свои внутренние идентификаторы с внешними источниками.

Мне кажется, что SSN является скорее запрашиваемым свойством, чем идентификатором ресурса, например ::

# Searches for applicants with the provided ssn
GET /applicants?ssn=000-00-0000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...