1

タイプがタイプのリストの1つであるオブジェクトであるプロパティを持つオブジェクトがあります。私の試みはすべて、Swagger Editor によって次のエラーで拒否されました。

Data does not match any schemas from 'anyOf'
Jump to line 43
Details
Object
code: "ANY_OF_MISSING"
message: "Data does not match any schemas from 'anyOf'"
path: Array [7]
inner: Array [2]
level: 900
type: "Swagger Error"
description: "Data does not match any schemas from 'anyOf'"
lineNumber: 43

完全な swagger 仕様ファイルは次のとおりです (問題のフィールドは ですDataSetsInquiryRsp.dataSets.dataSet)。

swagger: '2.0'
info:
  title: My API
  description: My Awesome API
  version: 1.0.0
paths:
  /dataSetsInquiry:
    get:
      description: Retrieve one or more data-sets.
      parameters:
        - name: ids
          in: query
          description: List of identifiers of requested data-sets.
          required: true
          type: array
          items:
            type: string
      responses:
        '200':
          description: Requested data-sets.
          schema:
            $ref: '#/definitions/DataSetsInquiryRsp'
        default:
          description: Unexpected error
          schema:
            $ref: '#/definitions/Error'
definitions:
  DataSetsInquiryRsp:
    type: object
    additionalProperties: false
    properties:
      sessionIdentifier:
        description: Identifier of the secure session with the server.
        type: number
      dataSets:
        type: object
        additionalProperties: false
        properties:
          id:
            type: string
          dataSet:
            type: array
            items:
              oneOf:
              - $ref: '#/definitions/Customer'
              - $ref: '#/definitions/Merchant'
  Customer:
    type: object
    additionalProperties: false
    properties:
      firstName:
        description: First name of the customer
        type: string
      lastName:
        description: Last name of the customer
        type: string
  Merchant:
    type: object
    additionalProperties: false
    properties:
      code:
        description: Code the Merchant.
        type: string
      name:
        description: Name of the Merchant.
        type: string
4

1 に答える 1

2

問題は、Swaggerが をサポートしていないことoneOffです。実際、いくつかのもの (たとえばデータ型)Swaggerのサブセットをサポートし、追加します。Json-Schemafile

ここで悪いのは、 によって返されるエラーSwaggerです。マッチングには役立ちません。そして、これはJson-Schema私がこれまでに使用したすべてのバリデーターの場合です: is-my-json-valid, jsen.

于 2015-10-11T17:00:38.510 に答える