Swashbuckle:使数组类型需要非空属性

时间:2019-04-04 18:15:06

标签: c# asp.net-web-api swagger-2.0 swashbuckle autorest

我正在使用autoRest从一个摇摇欲坠的架构中生成一个新的客户端。我有模型中的DateTime列表

public class DateRange
{
   public IList<DateTime> Dates{ get; set; }
}

这是从该属性生成的Json摇摇欲坠的模式

  { ...
    "Dates": {
              "type": "array",
              "items": {
                "format": "date-time",
                "type": "string"
              }
            }
    ...
    }

这是我运行autoRest后得到的结果

public class DateRange
{

     [JsonProperty(PropertyName = "Dates")]
     public IList<System.DateTime?> Dates{ get; set; }
}

我想要一个不可为空的dateTime属性,像这样

public IList<System.DateTime> Dates{ get; set; }

1 个答案:

答案 0 :(得分:0)

更新您的Swagger模式,以便您的属性如下所示:

dates:
    type: "array"
    items:
        format: "date-time"
        type: "string"
        x-nullable: false

然后在命令行中使用AutoRest生成客户端:

autorest --input-file="swagger.json" --output-folder="output" --csharp

结果:

/// <summary>
/// </summary>
[JsonProperty(PropertyName = "dates")]
public IList<System.DateTime> Dates { get; set; }