私はRESTAPIの開発を支援するためにいくつかの調査を行っていますが、これは私がどこにも深く議論されていないトピックの1つです。
システムにユーザーがいる場合は、数値識別子を使用してユーザーを識別する方がよいですか?
/ users / 1
または文字列識別子を使用しますか?
/ users / RSmith
それぞれのアプローチに対する仮想的な長所と短所を見ることができます。文字列識別子は人間が読みやすく、発見しにくく(有効なユーザーを見つけるためにインクリメントすることはできません)、データベースに別の数値IDを保存する必要はありません(私はしませんAPIを介してデータベースIDを公開したい)。数値識別子には固有の意味がないため、不変であることが保証されますが、文字列IDを使用すると、ユーザーはリソースの名前を変更してリソースURIを変更できます。
ここにRESTのベストプラクティスはありますか、それともシステムごとにベストアプローチが異なりますか?後者の場合、各方法に関連する追加の長所と短所はありますか?