Ошибка при попытке создать C # Client SDK в SwaggerHub с вложенными схемами - PullRequest
0 голосов
/ 06 ноября 2019

При попытке создать SDK клиента в C # в SwaggerHub появляется следующая ошибка.

Произошла ошибка при создании кода C # клиента. Убедитесь, что определение и все внешние ссылки (включая домены) действительны

Я не получаю синтаксических ошибок, но я точно определил ошибку для следующих вложенных схем (см. Ниже).

Если я заменим ErrorMessage-Reference в SemanticErrorMessage-Schema на любую другую схему, это сработает.

Каким-то образом с двойным вложением не сработает.

Может кто-нибудь дать мнеподсказка, как правильно это вложить?

openapi: 3.0.2

components:
  schemas:

    SimpleErrorMessage:
      title: Simple Error Message
      description: Simple Error Message
      type: object
      required:
      - error
      - message
      properties:
        error:
          description: Error-Code
          type: string
          example: 'SomethingWentWrong'
        detail:
          description: Additional details information for the error-code
          type: string
          nullable: true
        message:
          description: |
            \(Technical\) Error-Description.
            Not intended to be displayed in the User-Interface! 
          type: string
          example: 'Something went wrong'
        time: 
          description: Timestamp
          type: string
          format: date-time
          nullable: true

    ErrorMessage:
      title: Error Message
      description: Error Message
      allOf:
      - $ref: '#/components/schemas/SimpleErrorMessage'
      - type: object
        properties:
          additionalInformation:
            description: for debugging
            type: object
            nullable: true
            properties:
              version: 
                description: API-Version
                type: string
                nullable: true
                example: 1.3.23
              caller:
                description: Information about the client sending the query
                type: string
                nullable: true
              receiver:
                description: Information about the server handling the query
                type: string
                nullable: true
              location:
                description: Information about the Class handling the query
                type: string
                nullable: true
              query:
                description: The query received by ZEUS
                type: object
                nullable: true
                properties:
                  method:
                    description: http method
                    type: string
                    nullable: true
                    example: 'PUT'
                  path:
                    description: resource path
                    type: string
                    nullable: true
                    example: '/api/v1/somethings/123456789'
                  body:
                    description: request body
                    type: string
                    nullable: true
                    example: '[ { "id": 1234567, "descr": "test", ...'

    SemanticErrorMessage:
      allOf:
      - $ref: '#/components/schemas/ErrorMessage'
      - type: object
        properties:
          displayMessage:
            type: string
...