13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker + Swagger + Stoplight Prismを用いたAPI仕様書作成環境+APIモックサーバーの構築方法 メモ

Last updated at Posted at 2021-05-02
  • Docker、Swagger、Stoplight Prismを使用したAPI仕様書作成+APIモックサーバーの構築方法についてメモする。

Swaggerとは

  • REST APIのドキュメント記載に関するフォーマット仕様とswagger-uiやswagger-editorなどの周辺ツールを指す。
ツール 説明
Swagger Spec OpenAPI仕様に則ったAPI仕様
Swagger Editer OpenAPI仕様に則ったAPI仕様を書くためのエディタ
Swagger UI OpenAPI仕様に則ったAPI仕様からドキュメントを生成するツール
Swagger Codegen OpenAPI仕様に則ったAPI仕様からコードを生成するツール

Stoplight Prism

  • Stoplight社が提供するOSSのモックサーバー。
  • Swagger Specを読み込むことで、APIモックサーバーを起動する。

事前準備

  • docker, docker-compose のインストール。
    • インストール方法は割愛する。

環境構築

  • ディレクトリ構成

    SwaggerTest --- docker-compose.yml
    			   L_ api_reference.yaml
    
  • docker-compose.yml

    version: "3"
    services:
      swagger-editor:
        image: swaggerapi/swagger-editor
        container_name: "swagger-editor"
        ports:
          - "10081:8080"
      swagger-ui:
        image: swaggerapi/swagger-ui
        container_name: "swagger-ui"
        ports:
          - "10082:8080"
        volumes:
          - ./api_reference.yaml:/usr/share/nginx/html/api_reference.yaml
        environment:
          API_URL: api_reference.yaml
      swagger-api:
        image: stoplight/prism:3
        container_name: "swagger-api"
        ports:
          - "10083:4010"
        command: mock -h 0.0.0.0 /api_reference.yaml
        volumes:
          - ./api_reference.yaml:/api_reference.yaml
    
    
  • api_reference.yaml(Swagger Spec)

動作確認

コンテナ起動

  • SwaggerTestディレクトリに移動し、以下のコマンドを実行する。
docker-compose up

Swagger Editor

Swagger UI

Stoplight Prism (APIモックサーバー)

  • 以下のリクエストを行い、以下のレスポンスが返却されることを確認する。

    リクエスト

    GET /pets HTTP/1.1
    Host: localhost:10083
    

    レスポンス(期待値)

    [
        {
            "id": 0,
            "name": "string",
            "tag": "string"
        }
    ]
    

参考情報

13
9
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
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?