Есть ли способ явно установить nullable: false в свойствах спецификации OpenApi v3? - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь установить свойство в спецификации OpenAPI, чтобы оно было как обязательным, так и обнуляемым: false, как указано в C #, который я предоставляю.

Я использую NSwag v13.1.3 и NewtonSoft. Json v12.0.2 вместе с .Net Core 2.2

Я пытался передавать различные комбинации, используя NewtonSoft.Json и NJsonSchema.Annotations для принудительного применения NotNull к полям, как бы это ни было ноль: ложь не представляется возможнойв любой комбинации.

Я также пытался использовать NSwagStudio, который генерирует тот же код, что и ниже, однако nullable не имеет значение false в спецификации.

using Newtonsoft.Json;

public class Test {

[JsonProperty("test", Required = Required.Always)]
     public string Test { get; set; }

[JsonProperty("testnullable", Required = Required.AllowNull)]
    public string TestNullable { get; set; }

}

Я ожидаю, что это обеспечит оба значения, равные nullable:false и nullable: верно для спецификации OpenApi, однако это то, что представлено: -

"required": [          
      "test",
      "testnullable"
          ],
"properties": {
               "test": {
                  "type": "string"
                        },
               "testnullable": {
                  "type": "string",
                  "nullable": true
              }

1 Ответ

0 голосов
/ 13 ноября 2019

По умолчанию Nullable имеет значение false. Вот почему он не имеет ложного значения.

...