OpenAPIはREST APIの定義を記述する規格
APIサーバがどのような挙動をするかを記した設計書
従来はSwagger Specificationと呼ばれた
### メリット
・決まったフォーマットで規定できる
・そのままAPIドキュメントになる
・API定義からサーバ・クライアントのコード生成ができる
サンプル
https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml
### OpenAPI Generator
何らかの構造を定義して、定められた形式で定義
どのエンドポイントがどんなリクエストを受け付けてどんなレスポンスを返すのか
### OpenAPI
info, servers, paths, tags/externalDocs, components
Swagger Toolなどで生成する
### OpenAPI Generatorのはじめ方
openapi-generator generate -i ./openapi.yml -g php -o./php-api-client
### OpenAPIを使ってみる
openapi.yaml
openapi: "3.0.3" info: title: "Sample API" version: "1.0.0" paths: "/message": get: summary: "Sample API get operation" descrption: "Sample API get operation" responses: "200": description: "Success operation" content: application/json: schema: type: string example: "Hello World !"
$ sudo docker run –rm -v “${PWD}:/home/vagrant/dev/test” openapitools/openapi-generator-cli generate \
-i /home/vagrant/dev/test/openapi.yaml \
-g php-laravel \
-o /home/vagrant/dev/test/php-laravel
-attribute paths.’/message'(get).descrption is unexpected
ん? どういうことだ?
yamlファイルを作成してから、openapiでコードを生成する?
いまいち流れがわからん?
OpenAPI Generator から コードを作成することができるのね。