El título es demasiado complicado y bastante confuso, así que aquí hay un fragmento de mi yml:
openapi: 3.0.2 ... paths: /whatever: get: tags: - hi parameters: - name: status in: query schema: $ref: '#/components/schemas/Status' responses: 200: description: Successful operation ... components: schemas: Status: type: string enum: - One - Two Tengo una enum que quiero reutilizar, así que la uso en varios lugares, así que uso $ref . El problema aquí es que si genero código C# a partir de esta especificación, se verá así:
public void WhateverGet (Status status = null) { WhateverGetWithHttpInfo(status); } Este código no se puede compilar, status debe ser anulable, así que quiero que el código generado sea Status? status = null , y aquí es donde me quedo atascado.
$ref no permite valores hermanos, por lo que no puedo hacer algo como nullable: true . Estaba tratando de usar anyOf y proporcionar mi enumeración O nulo como opciones, pero el código generado resultó aún peor.
¿Cómo puedo definir mi yml para que el código generado sea correcto y mi método tenga un status parámetro opcional?