答えは、あなたが使用OpenAPIののどのバージョンによって異なります。それは、配列項目に複数のスキーマを定義することが可能ですので
OpenAPIの3.0は、oneOf
をサポートしています。
openapi: 3.0.0
...
paths:
/something:
get:
responses:
'200':
description: success
content:
application/json:
schema:
type: array
items:
oneOf: # <---------
- type: array
items:
type: object
properties:
prop1:
type: string
prop2:
type: string
- type: object
properties:
key:
type: integer
required:
- key
OpenAPIの2.0oneOf
または混合タイプをサポートしていません。あなたができることは、typeless schemaを使用することです。つまり、配列項目はオブジェクト、配列、またはプリミティブなんて何でもかまいませんが、正確な型は指定できません。
swagger: '2.0'
...
paths:
/:
get:
produces:
- application/json
responses:
'200':
description: success
schema:
type: array
items: {} # <---------
# Example to display in Swagger UI:
example:
- - prop1: hello
prop2: hello again
- prop1: bye
prop2: bye again
- key: 123
の
可能な重複(https://stackoverflow.com/questions/38690802/how-to-create-different-element-types-within-swagger- [闊歩2.0エディタ内の異なる要素タイプを作成する方法] 2-0-editor)と[モデルレスポンス(さまざまなオブジェクトタイプの配列を含む)](https://stackoverflow.com/q/41129403/113116)を参照してください。 – Helen