RESTfulAPIの設計。リソース(個人データ)を識別する方法は2つあります。データベースによって生成された一意のID、または各個人に入力された社会保障番号(SSN)のいずれかによって。SSNはおそらく一意ですが、変更することができます。
IDは一意であることが保証されており、変更されないため、IDを使用するのが最も便利です。したがって、リソースのURLも常に同じままです。
GET /persons/12
{
"name": Morgan
"ssn": "840212-3312"
}
SSNを使用するための議論は、APIクライアントにとってより有益で理解しやすいということです。SSNは、周辺のシステムでもより多く使用されています。
GET /persons/840212-3321
{
"name": Morgan
"id": "12"
}
したがって、問題は次のとおりです。最初のアプローチを採用し、SSNが変更される可能性のある実装上の問題を回避する必要があります。そして多分SSNからIDに変換するいくつかのヘルパーメソッドを提供しますか?
または、2番目のアプローチを使用します。より有益なAPIを提供します。SSNの変更によりURLが変更される可能性がある、それほどRESTfulではない奇妙な問題に対処する必要がありますか?