1. ホーム
  2. rest

公開APIのリソースにUUIDを使うべきですか?

2023-07-31 08:57:35

質問

私はSaaSアプリケーションを構築しており、現在のデータストレージ実装(Postgresの自動インクリメントID)に縛られないリソースのIDを公開したいと考えています。これらの Stack Overflow の投稿 ( 1 2 ) は、ローカルにユニークな ID を作成するのは難しいので、UUID を使用したほうがよいということを示唆しています。

私はこのアプローチに満足していますが、同じことを行う大きな SaaS/ホストされたプレイヤーからの API を見つけられないのはなぜでしょうか?たとえば

ですから、基本的に誰も UUID を使用しないようです。これには理由があるのでしょうか - 発明されていない、より巧妙な内部 ID アルゴリズム、または何か他のもの?そして、私の場合、内部アルゴリズムがない場合、UUID を使用することが最も理にかなっているのでしょうか?

どのように解決するのですか?

あなたが挙げた他のベンダーが、内部で UUID に近いものを使用しながらより小さな番号を公開できるように、独自の ID またはハッシュ スキームを持っている可能性はあります。しかし、最終的には、URI が人間ではなくコード (API クライアント) によって消費されることを意図している限り、なぜそれが問題になるのか、という疑問が生じます。

これらのベンダーが行ったことに、あまりビクビクしないでください。(a) 彼らが正しいことをしているという保証はありませんし、(b) 彼らのニーズがあなたのニーズと同じであるという保証もありません。

どうぞ、UUID を使ってください。