Swagger 2.0: qual esquema aceitar qualquer valor JSON (complexo)

A API para a qual estou escrevendo uma especificação Swagger 2.0 é basicamente uma loja para qualquer valor JSON.

Eu quero um caminho para ler o valor e um caminho para armazenar quaisquer valores JSON (nulo, número, número inteiro, cadeia, objeto, matriz) de profundidade não predefinida.

Infelizmente, parece que o Swagger 2.0 é bastante rigoroso nos esquemas de entrada e saída e não permite todo o conjunto de esquemas permitido pelo esquema JSON. O editor Swagger não permite, por exemplo, valores mistos (por exemplo, uma propriedade que pode ser um booleano ou um número inteiro) ou matrizes vagamente definidas (o tipo de itens deve ser estritamente definido) e objetos.

Então, eu estou tentando uma solução alternativa, definindo umMixedValue esquema:

---
swagger: '2.0'
info:
  version: 0.0.1
  title: Data store API
consumes:
- application/json
produces:
- application/json
paths:
  /attributes/{attrId}/value:
    parameters:
    - name: attrId
      in: path
      type: string
      required: true
    get:
      responses:
        '200':
          description: Successful.
          schema:
            $ref: '#/definitions/MixedValue'
    put:
      parameters:
      - name: value
        in: body
        required: true
        schema:
          $ref: '#/definitions/MixedValue'
      responses:
      responses:
        '201':
          description: Successful.
definitions:
  MixedValue:
    type: object
    properties:
      type:
        type: string
        enum:
        - 'null'
        - boolean
        - number
        - integer
        - string
        - object
        - array
      boolean:
        type: boolean
      number:
        type: number
      integer:
        type: integer
      string:
        type: string
      object:
        description: deep JSON object
        type: object
        additionalProperties: true
      array:
        description: deep JSON array
        type: array
    required:
    - type

Mas o Swagger Editor recusa as definições vagamente definidasobject earray propriedades.

Perguntas: - Existe uma maneira de solucionar esse problema? - É apenas um bug do Swagger Editor ou um forte limite das especificações do Swagger 2.0? - Existe uma maneira melhor (melhor prática) para especificar o que eu preciso? - Posso esperar algumas limitações no código produzido pelo swagger para alguns idiomas com minhas especificações de API?

questionAnswers(2)

yourAnswerToTheQuestion