1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

REST APIのURI設計のポイント - ベストプラクティスと具体例

Posted at

はじめに

REST APIの設計において、URI(Uniform Resource Identifier)の設計は非常に重要です。良いURI設計は、APIの使いやすさやメンテナンスの容易さに大きく影響します。この記事では、REST APIのURI設計における9つのポイントを具体例と共に解説します。

URI設計のポイント

1. 短く入力しやすい(冗長なパスを含まない)

URIはできるだけ短くし、入力が簡単であることが重要です。冗長なパスを含まないようにしましょう。

  • 良い例: /users
  • 悪い例: /api/v1/users/list/all

2. 人間が読んで理解できる(省略しない)

URIは人間が読んで理解できるように設計する必要があります。省略を避け、明確な名前を使用しましょう。

  • 良い例: /users
  • 悪い例: /usr

3. 大文字小文字が混雑していない(すべて小文字)

URIはすべて

小文字で記述することで、一貫性を保ち、誤解や入力ミスを防ぎます。

  • 良い例: /users
  • 悪い例: /Users または /UsersList

4. 単語はハイフンでつなげる

単語をつなぐ際にはハイフン(-)を使用することで、URIが読みやすくなります。アンダースコア(_)は避けましょう。

  • 良い例: /user-profiles
  • 悪い例: /user_profiles または /userProfiles

5. 単語は複数形を利用する

リソースのコレクションを示す場合、単語を複数形で表現するのが一般的です。

  • 良い例: /users
  • 悪い例: /user

6. エンコードを必要とする文字を使わない

URIには、空白や特殊文字を避け、エンコードが必要な文字を使わないようにしましょう。

  • 良い例: /users
  • 悪い例: /users list

7. サーバー側のアーキテクチャが反映されていない

URIは、サーバーの内部構造やアーキテクチャを反映させず、リソースの識別に集中するべきです。

  • 良い例: /users
  • 悪い例: /database/users

8. 改造しやすい(Hackable)

URIは直感的に変更できる(改造しやすい)ことが理想です。例えば、ユーザーの投稿を参照する際に、ベースURIから自然に推測できるようにしましょう。

  • 良い例: /users/123/posts (ユーザーID 123の投稿)
  • 悪い例: /posts?user_id=123

9. ルールが統一されている

URIの設計には一貫したルールを適用することで、使いやすさとメンテナンス性が向上します。

  • 良い例: 全てのリソースURIが同じパターンに従う
    • /users
    • /users/123
    • /users/123/posts
  • 悪い例: URIのパターンがバラバラ
    • /users
    • /user_detail/123
    • /post/list?user_id=123

具体例

以下に、上記のポイントを踏まえた具体的なURI設計例を示します:

  • ユーザーリソースの操作
    • ユーザーの一覧取得: GET /users
    • 新しいユーザーの作成: POST /users
    • 特定ユーザーの取得: GET /users/123
    • ユーザー情報の更新: PUT /users/123
    • ユーザーの削除: DELETE /users/123
  • ユーザーの投稿リソースの操作
    • 特定ユーザーの投稿一覧取得: GET /users/123/posts
    • 特定ユーザーの新しい投稿作成: POST /users/123/posts
    • 特定の投稿の取得: GET /users/123/posts/456
    • 投稿の更新: PUT /users/123/posts/456
    • 投稿の削除: DELETE /users/123/posts/456

まとめ

良いURI設計は、APIの使いやすさとメンテナンス性を大きく向上させます。ここで紹介した9つのポイントを参考にして、わかりやすく、一貫性のあるURIを設計しましょう。具体例を参考にしながら、自分のプロジェクトに最適なURIを考えることで、開発効率を向上させることができます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?