OpenApi
Generators List · OpenAPI Generator
#設計 #API設計
usage
https://openapi-generator.tech/docs/usage
generators
client , backend, documentを生成できる
https://openapi-generator.tech/docs/generators/
Gin
code:generate
openapi-generator generate \
-i openapi.yaml \
-g go-gin-server \
-o out
Axios
code:sh
openapi-generator-cli generate \
-i openapi.yaml \
-g typescript-axios \
-o api-clinet
リファレンス
OpenAPI Specification
Swagger
---
OpenAPI定義ファイルツール
Stoplight studio
https://stoplight.io/studio/
直感的に修正できる
モデル
model.yamlは細かく定義したほうが良い?
小のモデルを定義せず、親モデルに含めると、出力の際、親モデル名が小モデルにprefixされる。
出力
references設定でBundled (Recommended)ではなくDereferencedにしないと、OpenAPI Generatorで上手く出力できなかった。
モデルにV2,V3などがついてしまう。
Githubとの連携
一度連携したあと、組織アカウントの参照権を追加する場合以下の手順が必要だった。
一度連携解除→github oauthアプリでstoplight削除
------
モック
Prism
api mock
yamlのデータモデルを元にモックサーバーが起動
https://meta.stoplight.io/docs/prism/docs/guides/01-mocking.md
code:install.sh
yarn global add @stoplight/prism-cli
# -d dynamic mock
# モデル定義に応じてランダムなfakeデータを返す
prism mock -d openapi.v1.yaml
OpenAPIツール
ここでも定義を作成できる
https://app.swaggerhub.com/
https://editor.swagger.io/
https://github.com/mermade/openapi-gui
https://openapi.tools/
OpenAPI関連ツール
Apicurio
https://thinkit.co.jp/article/17357