OpenAPIで配列ってどう書く?

目次

はじめに

OpenAPIに関しての記事が少ない気がする、もしくは僕の検索の仕方が下手なのかわかりませんが、とにかくここにまとめておきます。
間違っていたりしましたらぜひご指摘いただけると嬉しいです。

ちなみにOpenAPIのバージョンは3.0.3を使用。

OpenAPIで配列を使用する

ここでは、レスポンスの部分に関しては別ファイルに分割している。postでのレスポンスに関しては、postResponse.yamlというファイルに分割し、そこにレスポンスの内容を記述している。以下が例です。

description: OK
content:
  application/json:
    schema:
      oneOf:
        - type: object
          properties: {}
        - type: object
          properties:
            goriras:
              type: array ## ここtypeをarrayとすること
              items:
                type: object
                description: ゴリラ一覧
                properties:
                  age:
                    type: integer
                    description: 年齢
                    required: true
                  name:
                    type: string
                    description: 名前
                    required: true
    examples:
      ゴリラあり:
        value:
          {
            goriras:
              [
                { age: 2, name: takeshi },
                { age: 23, name: hage },
              ], ## ここのカンマを忘れるとexamplesとしてSwagger Previewで正常に表示されない
          }
      ゴリラなし:
        value: {}

Swagger Previewの表示はどうなるか

ゴリラあり

スクリーンショット 2022-06-23 7.28.36.png
こんな感じで、ゴリラありの場合は配列でレスポンスの値があるのが表現できる。

ゴリラなし

スクリーンショット 2022-06-23 7.28.47.png
ゴリラなしの場合はこのように何もレスポンスがないことを表現することができる。

おわり

書き方だけで詰まる人はたくさんいると思うからここに記しておきます。
詳しいことは自分でググってください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

東京のIT企業に所属しながらフルリモートで働く現役Webエンジニア。体育会出身で営業職からプログラミングを学び始め、2020年秋に未経験ながらエンジニアとして転職。Jリーグ下部組織出身/水戸商業サッカー部OB/欧州でのトライアウト経験あり

コメント

コメントする

CAPTCHA


目次