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?

【DAY32】Swaggerについて

Posted at

はじめに

インターンや勉強会で、フロントエンドの開発とバックエンドの開発が連携するためにSwaggerというものを使うと聞きました。今までは個人開発をしてきたので使用する機会がありませんでしたが、今後使う機会はあるかと思うので、どのようなものか調べてみました。

Swaggerとは

Swaggerとは、REST API を定義するためのオープン仕様です。もっとざっくりいうと、「API仕様書を記述するための便利ツール」であるようです。

API仕様書とは

API仕様書とは、そのAPIの目的や種類、リクエストやレスポンスの形式などが記載されたドキュメントです。基本的には、APIの種類、認証形式、エンドポイント、パラメータなどの情報を記載します。

API仕様書の例

API仕様書がどのようなものかよく分からなかったため、chatGPTに書いてもらいました。この例をもとに解説します。誤った点があったらすいません。

エンドポイント:`POST/ api/users

概要:新しいユーザーを作成します。

メソッド:POST

リクエスト例:

POST /api/users
Content-Type: application/json
Authorization: Bearer <token>
  • リクエストボディ:
{
  "name": "John Doe",
  "email": "john.doe@example.com",
  "password": "securepassword123"
}

レスポンス例:

  • 成功(201 Created):
{
  "id": 123,
  "name": "John Doe",
  "email": "john.doe@example.com",
  "created_at": "2024-10-11T10:00:00Z"
}
  • エラー(400 Bad Request):
{
  "error": "Invalid email address"
}

認証:必須 (Bearer Token)

ステータスコード:

  • 201 Created: 成功時
  • 400 Bad Request: 入力が不正
  • 401 Unauthorized: 認証に失敗

制限:1分あたり100リクエストまで

API仕様書に含まれる主な項目

エンドポイントのURL

APIの各機能にアクセスするためのURLを記載します。

HTTPメソッド

GET、POSTといったメソッドを記述します。

リクエストパラメータ

APIに送信するデータ(クエリパラメータやボディパラメータ)を定義します。

レスポンスフォーマット

APIから返されるデータの形式や構造を記述します。

ステータスコード

成功やエラーの際に返されるコードを定義します。

認証・認可

APIへのアクセスが制限されている場合、認証方法やアクセス制御に関する説明を含めます。

エラーメッセージ

失敗したリクエストに対して返されるエラーメッセージの内容を定義します。

制限

APIの呼び出し回数の制限や頻度について記述します。

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?