LoginSignup
5
6

More than 3 years have passed since last update.

[Swagger] OpenAPI3.0 で記述したAPIドキュメントからapisproutを使ってモックサーバーを構築する

Last updated at Posted at 2019-08-17

Intro

OpenAPI(Swagger)でAPI定義を記述をすると、簡単にAPIドキュメントを作成し、API仕様をコード管理できるメリットがあります。

もう一つのメリットとして記述したAPI定義からAPIのモックサーバーも簡単に生成することができます。モックサーバーを開発の初期段階に簡単に用意できることで、ドキュメントファーストな開発ができます。(以下、開発フローのイメージです)

62347593-2c249580-b535-11e9-9b61-e846bb034751.png

参考リンク

APIモック(mock)サーバーを作る

swagger-codegen でコードを生成してモックサーバーを立てる方法もありますが、今回は以下のAPI定義から apisprout を使いモックサーバーを立ててみます。

openapi.yml
openapi: 3.0.0
info:
  version: 1.0.0
  title: Swagger sample
paths:
  /users:
    get:
      summary: Usersを取得するAPIです。
      responses:
        '200':
          description: HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
          content:
            application/json:
              schema:
                type: object
                properties:
                  user_id:
                    type: string
                    example: 1234567

Usage

go get

apisprout は Goで作られているので go get コマンドでインストールも可能です。

起動方法はこれだけ。 apisprout opeapi.yml めちゃ簡単ですね。

go get github.com/danielgtaylor/apisprout
apisprout opeapi.yml

🌱 Sprouting Swagger sample on port 8000
curl localhost:8000/users
{
  "user_id": 1234567
}

Docker

docker pull danielgtaylor/apisprout
docker run -p 8000:8000 -v $FULLPATH/openapi.yml:/openapi.yml danielgtaylor/apisprout /openapi.yml

🌱 Sprouting Swagger sample on port 8000
curl localhost:8000/users
{
  "user_id": 1234567
}

最後に

OpenAPI(Swagger)で記述することで、APIドキュメントやモックサーバーを簡単に用意することができました。APIドキュメントファーストの開発をすることで、開発の生産性もあがりそうです。

簡単に導入し試すことができるので機会があれば、トライしてみてください。:raised_hand:

5
6
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
5
6