Разработка RESTful API. У меня есть два способа идентификации ресурсов (персональные данные). Либо уникальный идентификатор, созданный базой данных, либо номер социального страхования (SSN), введенный для каждого человека. SSN предположительно уникален, хотя может быть изменен.Информационный уникальный идентификатор в REST API
Использование идентификатора было бы наиболее удобным для меня, так как оно гарантировано будет уникальным и не изменится. Таким образом, URL для ресурса, также всегда остается неизменным:
GET /persons/12
{
"name": Morgan
"ssn": "840212-3312"
}
Аргумент для использования SSN, является то, что она является более информативным и понятным клиентов API. ПЛА также используется больше в окружающих системах:
GET /persons/840212-3321
{
"name": Morgan
"id": "12"
}
Так что вопрос: Должен ли я пойти с первым подходом, и избежать головной боли реализации, где ПЛА может измениться. А может быть, какой-то вспомогательный метод, который преобразует из SSN в ID?
Или пойти со вторым подходом. Предоставление более информативного API. Хотя нужно иметь дело с некоторыми не столь странными странностями, где URL: s может измениться из-за изменений SSN?
Я согласен/не ищу/не нужен в URL-адресе, и что его удаление является более чистым. Я добавил его просто для ясности в моем примере, поскольку это ни хорошо, ни плохо.Я думаю, что множественное число и единство - одно из тех религиозных вещей, которые вы должны назвать вашими таблицами БД одиночными или множественными, но это определенно просто предпочтение. – Ray
Хммм ... Нет любви к нашему прозрению. Собираешься +1 за мозгом. – Ray
@Ray Я взял на себя существующий проект, и таблицы базы данных уже были названы во множественном числе. Когда я реконструировал пространство URI из (например) '/ viewopenjobs.php' в'/jobs? Status = open', я просто усекал имена файлов, поэтому они тоже оказались множественными. –