1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RESTful APIのエンドポイント設計

Posted at

RESTful APIのエンドポイント設計は、リソース指向のアプローチに基づいて行われます。以下に、典型的なエンドポイント設計のサンプルを示します。ここでは、ユーザー(Users)と記事(Articles)という2つのリソースを例にとります。

1. ユーザー(Users)リソースのエンドポイント設計

1.1 ユーザーの一覧を取得

HTTPメソッド: GET
エンドポイント: /users
説明: すべてのユーザーの一覧を取得する。

GET /users

1.2 特定のユーザーを取得

HTTPメソッド: GET
エンドポイント: /users/{userId}
説明: 特定のユーザーの詳細を取得する。

GET /users/123

1.3 新しいユーザーを作成

HTTPメソッド: POST
エンドポイント: /users
説明: 新しいユーザーを作成する。

POST /users

リクエストボディ(例):

{
  "name": "John Doe",
  "email": "john.doe@example.com"
}

1.4 特定のユーザーを更新

HTTPメソッド: PUT
エンドポイント: /users/{userId}
説明: 特定のユーザーの情報を更新する。

PUT /users/123

リクエストボディ(例):

{
  "name": "John Doe",
  "email": "john.doe@example.com"
}

1.5 特定のユーザーを部分的に更新

HTTPメソッド: PATCH
エンドポイント: /users/{userId}
説明: 特定のユーザーの情報を部分的に更新する。

PATCH /users/123

リクエストボディ(例):

{
  "email": "john.newemail@example.com"
}

1.6 特定のユーザーを削除

HTTPメソッド: DELETE
エンドポイント: /users/{userId}
説明: 特定のユーザーを削除する。

DELETE /users/123

2. 記事(Articles)リソースのエンドポイント設計

2.1 記事の一覧を取得

HTTPメソッド: GET
エンドポイント: /articles
説明: すべての記事の一覧を取得する。

GET /articles

2.2 特定の記事を取得

HTTPメソッド: GET
エンドポイント: /articles/{articleId}
説明: 特定の記事の詳細を取得する。

GET /articles/456

2.3 新しい記事を作成

HTTPメソッド: POST
エンドポイント: /articles
説明: 新しい記事を作成する。

POST /articles

リクエストボディ(例):

{
  "title": "New Article",
  "content": "This is the content of the new article.",
  "authorId": 123
}

2.4 特定の記事を更新

HTTPメソッド: PUT
エンドポイント: /articles/{articleId}
説明: 特定の記事の情報を更新する。

PUT /articles/456

リクエストボディ(例):

{
  "title": "Updated Article",
  "content": "This is the updated content of the article."
}

2.5 特定の記事を部分的に更新

HTTPメソッド: PATCH
エンドポイント: /articles/{articleId}
説明: 特定の記事の情報を部分的に更新する。

PATCH /articles/456

リクエストボディ(例):

{
  "title": "Partially Updated Article"
}

2.6 特定の記事を削除

HTTPメソッド: DELETE
エンドポイント: /articles/{articleId}
説明: 特定の記事を削除する。

DELETE /articles/456

3. ネストされたリソースのエンドポイント設計

3.1 特定のユーザーの記事一覧を取得

HTTPメソッド: GET
エンドポイント: /users/{userId}/articles
説明: 特定のユーザーが作成した記事の一覧を取得する。

GET /users/123/articles

3.2 特定のユーザーの記事を作成

HTTPメソッド: POST
エンドポイント: /users/{userId}/articles
説明: 特定のユーザーが新しい記事を作成する。

POST /users/123/articles

リクエストボディ(例):

{
  "title": "New Article by User",
  "content": "This is the content of the new article by the user."
}

これらのエンドポイント設計は、RESTful APIの基本的なパターンを示しています。リソースの操作(作成、取得、更新、削除)に対応するHTTPメソッドを適切に使用し、リソースの階層構造をURLで表現することが重要です。

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?