2022年4月21日に行われた microCMS Online Meetup の発表資料です。 https://microcms.connpass.com/event/240629/
発表のアーカイブをYouTubeで公開しています。こちらもあわせてご覧ください。 https://www.youtube.com/watch?v=2BBsCR1Mop8&t=3540s
#microcms_meetup
View Slide
目次2● そもそも OpenAPI とは?● microCMS の OpenAPI 連携機能の紹介● microCMS の API の未来について#microcms_meetup
自己紹介● 入沢翼 (@lambdasawa)● https://www.lambdasawa.me/● microCMS のバックエンドエンジニア3#microcms_meetup
目次4● そもそも OpenAPI とは?● microCMS の OpenAPI 連携機能の紹介● microCMS の API の未来について#microcms_meetup
そもそも OpenAPI とは?● RESTful API の仕様を表現するための仕様● 言語非依存 & 機械可読 (JSON or YAML)● 人間に優しいフォーマットにも変換できる5#microcms_meetup
想定する API の例6
OpenAPI 定義ファイル7
OpenAPI 定義ファイル8
OpenAPI 定義ファイル9
OpenAPI 定義ファイル (paths)10
OpenAPI 定義ファイル (paths)11
OpenAPI 定義ファイル (paths)12
OpenAPI 定義ファイル (paths)13
OpenAPI 定義ファイル (components)14
OpenAPI 定義ファイル (components)15
OpenAPI 定義ファイル (components)16
OpenAPI 定義ファイル (components)17
OpenAPI 定義ファイル (components)18
OpenAPI 定義ファイル (components)19
OpenAPI を使うメリット● 曖昧さが無い● 「foo が空になる」とは?○ {“foo”: “”} なのか?○ {“foo”: null} なのか?○ {} なのか?20#microcms_meetup
OpenAPI を使うメリット● 豊富なエコシステムと連携できる● コード生成 (openapi-generator など)● ドキュメント生成 (Swagger UI, ReDoc, RapiDoc)● モックサーバ生成 (Prism)● 自動バリデーション (committee-rails, express-openapi-validator)● GUI エディター (Stoplight Studio)21#microcms_meetup
目次22● そもそも OpenAPI とは?● microCMS の OpenAPI 連携機能の紹介● microCMS の API の未来について#microcms_meetup
microCMS の OpenAPI 連携機能の紹介23(画面は開発中のものです)
コード生成をするコマンド24#microcms_meetup
API 一覧の補完25#microcms_meetup
API 一覧の補完 (確定後)26#microcms_meetup
クエリストリングの補完と型チェック27#microcms_meetup
レスポンスボディの補完28#microcms_meetup
リクエストボディの補完と型チェック29#microcms_meetup
目次30● そもそも OpenAPI とは?● microCMS の OpenAPI 連携機能の紹介● microCMS の API の未来について#microcms_meetup
API v2 を開発中● よりキレイな API に● OpenAPI と自動バリデーションを活用してより堅牢な API に● OpenAPI 連携機能は API v2 から提供される予定31#microcms_meetup
API v2 のリリース スケジュール (予定)32#microcms_meetup
マネジメント API を強化● コンテンツ API 同様に RESTful な API として提供予定● 管理画面で出来ることはなんでも API でも出来るように33#microcms_meetup
マネジメント API として提供されるもの● 例) メディアの検索、アップロード、削除● 例) API スキーマの CRUD○ OpenAPI 以外のアプローチでコード生成○ 逆に TypeScript から API スキーマ生成● 例) レビューの CRUD○ 放置されたレビューを Slack でリマインド34#microcms_meetup
35#microcms_meetup
ご清聴ありがとうございました36https://microcms.ioCopyright © microCMS All rights reserved.#microcms_meetup