付録

▼定義対象API(再掲)

API 名 HTTP

メソッド

エンドポイント 説明 リクエスト レスポンス
アカウント一覧取得 API GET /accounts アカウント情報を全て取得する アカウント情報の一覧
アカウント登録 API POST /accounts アカウント情報を新規登録する アカウント情報 登録したアカウント情報
アカウント更新 API PUT /accounts/{accountId} アカウント情報を更新する アカウント情報 更新したアカウント情報
アカウント削除 API DELETE /accounts/{accountId} アカウント情報を削除する

 

openapi: 3.0.0
info:
  title: Sample APIs
  version: 1.0.0
servers:
  - url: http://localhost:8080
paths:
  /accounts:
    get:
      summary: アカウント一覧取得API
      tags:
        - accounts
      operationId: get-accounts
      description: アカウント情報を全て取得する
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  accountList:
                    type: array
                    items:
                      $ref: "#/components/schemas/ResAccounts"
                required:
                  - accountList
    post:
      summary: アカウント登録API
      tags:
        - accounts
      operationId: post-accounts
      description: アカウント情報を新規登録する
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                accountId:
                  type: string
                name:
                  type: string
                email:
                  type: string
                address:
                  type: string
              required:
                - accountId
                - name
                - email
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResAccounts"
  "/accounts/{accountId}":
    parameters:
      - schema:
          type: string
        name: accountId
        in: path
        required: true
    put:
      summary: アカウント更新API
      tags:
        - accounts
      operationId: put-accounts-accountId
      description: アカウント情報を更新する
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                mail:
                  type: string
                address:
                  type: string
                version:
                  type: integer
              required:
                - name
                - mail
                - version
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ResAccounts"
    delete:
      summary: アカウント削除API
      tags:
        - accounts
      operationId: delete-accounts-accountId
      description: アカウント情報を削除する
      responses:
        "200":
          description: OK
components:
  schemas:
    ResAccounts:
      title: ResAccounts
      type: object
      properties:
        accountId:
          type: string
        name:
          type: string
        email:
          type: string
        address:
          type: string
        version:
          type: integer
      required:
        - accountId
        - name
        - email
        - version
tags:
  - name: accounts