OpenAPI

openapi-generatorのtypescript-axiosやtypescript-fetchで、OpenAPIスキーマのenumに対して生成されるTypeScriptコードが列挙型から変更になっていた

以前、OpenAPIスキーマからTypeScriptのクライアントを生成するために、 openapi-generator を使いました。 https://github.com/OpenAPITools/openapi-generator Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定する時に調べたことをまとめ…

drf-spectacularを使って、Django REST frameworkの実装からOpenAPI 3.0系のスキーマを生成する

これは Djangoのカレンダー | Advent Calendar 2022 - Qiita 12/13の記事です。 Django REST framework(DRF)でOpenAPI 3系のスキーマを生成しようと考えた時、DRFの公式ドキュメントでは DRFの機能を使う Schemas - Django REST framework サードパーティパ…

Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定する時に調べたことをまとめてみた

Rails + React + OpenAPI な環境で、クエリパラメータに配列を指定することがありました。 ただ、実装するまでにいろいろ調べたことがあったため、メモを残します。 目次 環境 わかったこと Railsでは ids[]=1&ids[]=2 な書式のクエリパラメータを受け取れる…

Rails + Committeeで書いたテストコードが TypeError: no implicit conversion of String into Integer で落ちたため対応してみた

OpenAPIスキーマのあるRails製APIサーバにて、テストコードを Committee + Committer::Rails で書いていたところ、 TypeError: no implicit conversion of String into Integer というエラーが出ました。 エラーを解消するまでに少々悩んだため、メモを残し…

Ruby版のOpenAPI generatorで生成したAPIクライアントが、enumの定義にない値をレスポンスで受け取るとエラーになってしまうので、回避策を実施してみた

OpenAPIスキーマで enum を使うと、その項目が取り得る値を指定できます。 Enums - DataModels (Schemas) - OpenAPI Guide - swagger 例えば、以下のOpenAPIスキーマのようにレスポンスの型が定義されているAPIの場合、HTTPレスポンスボディの shop が取り得…

Rails + OpenAPI なAPIにて、レスポンスボディがない場合、committee の assert_response_schema_confirm を使うとエラーになる

Rails + OpenAPI で作られているAPIのテストコードを書く時、 interagent/committee: A collection of Rack middleware to support JSON Schema. willnet/committee-rails: rails and committee are good friends を使うことで、OpenAPIスキーマのテストもし…