イントラネットアプリ用のHTTPベースのAPIを設計しています。私はそれが物事の壮大な計画ではかなり小さな懸念であることを理解していますが、URI内の単語を区切るためにハイフン、アンダースコア、またはキャメルケースを使用する必要がありますか?
これが私の最初の考えです:
キャメルケース
- サーバーで大文字と小文字が区別されない場合に発生する可能性のある問題
- クエリ文字列キー(http://api.example.com?** searchQuery ** = ...)でかなり広く使用されているようですが、他のURI部分では使用されていません。
ハイフン
- 他の選択肢よりも審美的に心地よい
- URIのパス部分で広く使用されているようです
- 野生でハイフンでつながれたクエリ文字列キーを見たことがない
- SEOにとっておそらくより良い(これは神話かもしれない)
アンダースコア
- プログラミング言語の処理が潜在的に簡単
- いくつかの一般的なAPI(Facebook、Netflix、
StackExchangeなど)は、URIのすべての部分でアンダースコアを使用しています。
私はすべてのアンダースコアに傾いています。ほとんどの大手プレーヤーがそれらを使用しているという事実は説得力があります(https://stackoverflow.com/a/608458/360570を参照)。