コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

swagger

OpenAPI3(swagger)の文字列で最小値、最大値を設定する

逆引き的な話 環境 openapi: 3.0.0 書き方 type: string と同じ並びで以下のように記述する minLength: 1 maxLength: 100 ※もちろん両方揃っている必要はない ユースケースと例 例えば「ニックネームは2文字以上8文字以下」としたい場合は以下のように設定す…

OpenAPI3(swagger)でのnullableとnullに関しての記法あれこれ

ドキュメントがわかりにくいのと、null許容はあるが、純粋nullに関しては言及がないのでそこに関してのワークアラウンド。 環境 openapi: 3.0.0 記法 ドキュメント曰く Note that there is no null type; instead, the nullable attribute is used as a modi…

OpenAPI3(swagger)の認証設定(security)を複合的に記述する書き方

意外とググりにくい、両方といずれかの書き方。 情報元 Authentication | Swagger の Using Multiple Authentication Types の項目に記述がある。 記述例 前に書いた記事をベースに説明する 認証情報 components: securitySchemes: API_SECRETCODE: type: ap…

swagger/OpenAPI 3.0で本番と検証用のURLを明示的に示す

ずっと記載分けができないものだと思っていた。 書き方 下記のドキュメントにある。 API Server and Base Path | Swagger serversというセクションがあり、そこは配列指定できるのでそちらを使う。この書き方にすると、SwaggerUIでもアクセス先切り替えがで…

swaggere3.0で独自の認証用ヘッダを定義する

例えばカスタムヘッダでそこに認証用のキーを埋め込んでほしい場合などの書き方。OAuthとかBasic認証はあるのだけど、そういうポピュラーなものではなくオリジナルをやりたい場合の例。 書き方 securitySchemes にtypeを apikey にした情報を定義する 利用し…

swaggerのJSONからyamlの形式に作り直す

swaggerのJSONからyamlへの変換方法を考えたが、これが一番楽だということに気づく やり方 YAMLに置き換えたいJSONを用意する Swagger Editorにアクセス File から Import file する YAMLができあがる 注意点 バージョン違いのswaggerで作られたJSON出力を読…

OpenAPI3.0でバイナリ送付のエンドポイントを書く書き方

swaggerの書き方シリーズ。ユースケースとしては画像をアップロードするAPIなどの想定。 環境 openapi: 3.0.2 書き方 content: multipart/form-data: description: "画像登録するときのマルチパートフォーム情報" type: object properties: fileName: descri…

OpenAPI3.0で使うcomponentsの種類をざっくりまとめる

Swaggerと呼ばれたりOpenAPIと呼ばれたりするOpenAPI Specification。どれが何やねん、ってなるのでメモ。 環境 openapi: 3.0.0 componentsセクションの種類 記述名 用途 schema 具体的なオブジェクト parameters APIのパラメータ、クエリストリングやパスパ…