Разработка RESTful API. У меня есть два способа идентификации ресурсов (персональные данные). Либо уникальный идентификатор, созданный базой данных, либо номер социального страхования (SSN), введенный для каждого человека. SSN предположительно уникален, хотя может быть изменен.
Использование идентификатора было бы наиболее удобным для меня, так как оно гарантировано будет уникальным и не изменится. Следовательно, URL-адрес ресурса также всегда остается прежним:
GET /persons/12
{
"name": Morgan
"ssn": "840212-3312"
}
Аргумент использования SSN заключается в том, что он более информативен и понятен клиентам API. SSN также используется больше в окружающих системах:
GET /persons/840212-3321
{
"name": Morgan
"id": "12"
}
Таким образом, возникает вопрос: должен ли я идти с первым подходом и избегать некоторых головных задач реализации, в которых может измениться SSN. А может быть, какой-то вспомогательный метод, который преобразует из SSN в ID?
Или идите со вторым подходом. Предоставление более информативного API. Хотя нужно иметь дело с некоторыми не столь странными странностями, где URL: s может измениться из-за изменений SSN?