公開APIのリソースにUUIDを使うべきですか?
2023-07-31 08:57:35
質問
私はSaaSアプリケーションを構築しており、現在のデータストレージ実装(Postgresの自動インクリメントID)に縛られないリソースのIDを公開したいと考えています。これらの Stack Overflow の投稿 ( 1 2 ) は、ローカルにユニークな ID を作成するのは難しいので、UUID を使用したほうがよいということを示唆しています。
私はこのアプローチに満足していますが、同じことを行う大きな SaaS/ホストされたプレイヤーからの API を見つけられないのはなぜでしょうか?たとえば
- Shopify。 9桁の数字
- Twilio 34文字の文字列
- ツイッター 20桁以上の数字
- AMEE 12文字 A-Z0-9
ですから、基本的に誰も UUID を使用しないようです。これには理由があるのでしょうか - 発明されていない、より巧妙な内部 ID アルゴリズム、または何か他のもの?そして、私の場合、内部アルゴリズムがない場合、UUID を使用することが最も理にかなっているのでしょうか?
どのように解決するのですか?
あなたが挙げた他のベンダーが、内部で UUID に近いものを使用しながらより小さな番号を公開できるように、独自の ID またはハッシュ スキームを持っている可能性はあります。しかし、最終的には、URI が人間ではなくコード (API クライアント) によって消費されることを意図している限り、なぜそれが問題になるのか、という疑問が生じます。
これらのベンダーが行ったことに、あまりビクビクしないでください。(a) 彼らが正しいことをしているという保証はありませんし、(b) 彼らのニーズがあなたのニーズと同じであるという保証もありません。
どうぞ、UUID を使ってください。
関連
-
[解決済み] リソースが既に存在する場合の POST に対する HTTP レスポンスコード
-
[解決済み] REST APIサービスが検証に失敗した場合に返すべき適切なHTTPステータスコードは何ですか?
-
[解決済み] RESTのネストされたリソースのベストプラクティスは何ですか?
-
[解決済み】REST APIでのPUTメソッドとPATCHメソッドの使い分け 実生活でのシナリオ
-
[解決済み】REST APIでPATCHとPUTのどちらを使うべきですか?
-
[解決済み] オブジェクト内のアイテムの合計数を返すための最良のRESTfulメソッドは何ですか?
-
[解決済み] REST API - なぜ PUT DELETE POST GET を使用するのですか?
-
[解決済み] REST - ボディにIDを入れるかどうか?
-
[解決済み] RESTfulサービス - WSDLに相当するもの
-
[解決済み] WADLを使用する理由は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み】SQLデータベースで文字列を主キーにする【終了しました
-
[解決済み] RESTのPUT/POST/DELETEコールは、規約によって何を返すべきですか?
-
[解決済み] RESTを使った複数レコードの削除
-
[解決済み] NetflixやTwitterのようなWebサービスにはRESTとSOAPのどちらを使うべきか?[クローズド]
-
[解決済み] RESTful - DELETE レスポンスボディに含まれるべき内容
-
[解決済み] RESTアプリケーションで現在ログインしているユーザーのURIを設計する
-
[解決済み] RESTful url の動詞とアクションで最も良いもの/一般的なものは何ですか?
-
[解決済み] HTTP-DELETE-requestにresponse-bodyは許されるのでしょうか?
-
[解決済み] WADLを使用する理由は何ですか?