Intro
OpenAPI(Swagger)でAPI定義を記述をすると、簡単にAPIドキュメントを作成し、API仕様をコード管理できるメリットがあります。
もう一つのメリットとして記述したAPI定義からAPIのモックサーバーも簡単に生成することができます。モックサーバーを開発の初期段階に簡単に用意できることで、ドキュメントファーストな開発ができます。(以下、開発フローのイメージです)
参考リンク
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ドキュメントファーストの開発をすることで、開発の生産性もあがりそうです。
簡単に導入し試すことができるので機会があれば、トライしてみてください。