以前、WebAPIのパラメーターにキャメルケースを使うかスネークケースを使うかという記事を書きました。
そこでは「統一されていればどっちでもいい」という当たり障りのないことを書きつつ、URLにではアンダースコアが使えないよー的なことも書きました(RFC952のことをすっかり忘れていてお恥ずかしい)。
今回はそれに対する補足です。
どこまで統一感をもたせるかで変わってくる
例えば、「ホスト名」「パス」「クエリーパラメーター」「フラグメント」「リクエストボディー」のすべてで同じものに統一したい場合はキャメルケース(camelCase)しか選択肢がありません。ドメイン名にスネークケース(snake_case)が使えず、クエリーパラメーターやリクエストボディーにケバブケース(kebab-case)を使うのは一般的ではないからです。
でも「エンドポイントとパラメーターは別物」と割り切ってしまい、「ホスト名」「パス」「フラグメント」をケバブケースで統一して、「クエリーパラメーター」「リクエストボディー」はキャメルケースまたはスネークケースで統一するという方法もアリですね。
いくつか調べてみた
有名サービスのWebAPIはどうやっているのか調べてみました。
サービス | エンドポイント | パラメーター |
---|---|---|
GitHub | kebab-case | snake_case |
snake_case | snake_case | |
Atlassian(JIRA) | (複数単語からなるエンドポイントがない) | lowerCamelCase |
Google(GCP) | lowerCamelCase | lowerCamelCase |
意外とバラバラでした。ちなみにSlackのエンドポイントは上記のいずれでもなく、単語をピリオドでつなげています。そもそもREST APIではないので比較対象として適切なのかわかりませんが。
というわけでお好きな方法をどうぞ。
0 件のコメント:
コメントを投稿