OpenAPI
概要
OpenAPIはREST APIのインターフェースを記述するための仕様。仕様に基づいて見やすいページにエクスポートしたり、モックサーバを起動できる周辺ツールが開発されている。
Memo
ロゴ設定
エクスポートしたときのロゴ画像を設定できる。
info: x-logo: url: https://example.com/sample.png
タグの表示名
エクスポートしたときのタグの表示名を設定できる。
tags: - name: Setting x-displayName: ⚙️設定 description: | これは設定
Tasks
DONE 雛形を作成する
マイベストを作る。ファイル分割をしてわかりやすくした。
DONE ポータブルなバリデーションツール
ポータブルに使える、実装と設計の差分を調べるCLIツールを作る。
DONE リファクタ [4/4]
- ファイル分割
- CLIコマンド化
- テストできるようにする
- docker-composeで起動できるようにする
- サーバをdockerで起動すると、ホストとポートが異なるので正しくチェックできない
- dockerを使わずにテスト実行時にGoでサーバを立てるようにした(これがベスト)
DONE 関数を分割
でかいので分ける。
CLOSE カバレッジ表示できるようにする
スキーマのパス一覧を使って全体がわかるので、そこからどこまでカバーしてるか計算する。
DONE テスト用ライブラリとして使えるようにする
assert的な感じで使えるようにする。
CLOSE 治安のいいOpenAPIの開発環境を作る - バイセル Tech Blog
CIでメンテしやすさを保証する。
Reference
oneOf, anyOf, allOf, not
allofでコンポーネントを組み合わせ、共通化できる。
freee/freee-api-schema: schema file of freee API
freeeのAPIスキーマ。openapiの参考にする。
Keycloak で Opent ID Connect 認可コードフローをやってみる - Qiita
Keycloakの解説記事。
Archives
DONE OpenAPIの使い方を調べる
API設計・ドキュメント作成をスムーズに行えるようにする。
- モックサーバ
- PDF生成
まあ、楽にできる。いくつかの例からyamlを覚えればいいだけだ。あとは継続的にドキュメントをアップデートできる仕組み…たとえば実装と合っているかテストする(RailsでいうところのCommitee)を入れれば、完璧。
DONE my_openapi整理
- kijimaD/my_openapi
- 例を整理した。
- LintをGitHub Actionsで実行させた
- ビルドをGitHub Actionsで実行させた