私はAPIを定義しており、 "ペイロード"と呼ばれるフィールドを持っています。しかし、それらのペイロードデータは構造を持っているし始めて私たちの闊歩に文字列オブジェクトが1つのタイプをスワッガーで持つことを許可する
:私たちは
「タイプ」として定義され、このフィールドを持っていました。より具体的には、クライアントはjsonオブジェクトをいくつかのルールに従わなければならないペイロードデータとして送信します。例えば、ペイロードは、可能性が:それは猫のオブジェクトである場合、ペイロードは犬オブジェクトまたは
{ "hunts": true, "age": 13 }
ある
{ "bark": true, "breed": "Dingo" }
場合。
payload: $ref: "#/definitions/payloaddata"
と私は定義領域に:しかし
components: schemas: Dog: type: object properties: bark: type: boolean breed: type: string enum: [Dingo, Husky, Retriever, Shepherd] Cat: type: object properties: hunts: type: boolean age: type: integer
:
payloaddata: type: "object" schema: oneOf: - $ref: '#/components/schemas/Cat' - $ref: '#/components/schemas/Dog'
コンポーネントは次のように定義されている私が最初に持ってYAMLファイルでそう
yamlファイルはこの入力で "コンパイル"されません。どのようにこれを行うにはどのようなアイデア?
仕様OpenAPI/Swagger 2.0またはOpenAPI 3.0ですか? 'oneOf'は3.0でのみサポートされています。 – Helen
swagger:ファイルの先頭に「3.0」が追加されました。私はeditor.swagger.ioで働いています – cateof
2.0にとどまり、パラメータとして複数の型を値として持つことができますか? editor.swagger dot ioは "3.0"をサポートしていません – cateof