Como especificar uma propriedade pode ser nula ou uma referência com arrogância

Como especificar uma propriedade como nula ou como referência? discute como especificar uma propriedade como nula ou uma referência usando jsonschema.

Estou procurando fazer a mesma coisa com arrogância.

Para recapitular a resposta acima, com jsonschema, você pode fazer o seguinte:

{
   "definitions": {
      "Foo": {
         # some complex object
      }
   },

   "type": "object",
   "properties": {
      "foo": {
         "oneOf": [
            {"$ref": "#/definitions/Foo"},
            {"type": "null"}
         ]
      }
   }
}

O ponto chave da resposta foi o uso deoneOf.

Os principais pontos da minha pergunta:

Eu tenho um objeto complexo que eu quero manter DRY, então eu o coloco em uma seção de definições para reutilização em toda a minha especificação de arrogância: valores de outras propriedades; objetos de resposta etc.

Em vários lugares nas minhas especificações, uma propriedade pode ser uma referência a esse objeto OU ser nulo.

Como faço para especificar isso com o Swagger, que não suportaoneOf ouanyOf?

Nota: algumas implementações de arrogância usamx-nullable (ou algo parecido) para especificar um valor da propriedade pode ser nulo; no entanto,$ref substitui o objeto com o que ele faz referência, para que apareça qualquer uso dex-nullable é ignorado.

questionAnswers(2)

yourAnswerToTheQuestion