【发布时间】:2021-12-07 01:50:12
【问题描述】:
我有一个通过 Swashbuckle 公开的类,看起来像这样:
public class Person
{
[JsonProperty("dateOfBirth")]
[JsonConverter(typeof(DateFormatConverter))]
public System.DateTime? DateOfBirth { get; set; }
}
internal class DateFormatConverter : Newtonsoft.Json.Converters.IsoDateTimeConverter
{
public DateFormatConverter()
{
DateTimeFormat = "yyyy-MM-dd";
}
}
(该类由 NSwag-studio 生成)
当我使用app.UseSwagger(); 与 Swashbuckle 生成 Swagger 合约时,结果如下所示:
"Person": {
"dateOfBirth": {
"format": "date-time",
"type": "string"
}
}
}
我想配置 Swashbuckle 以识别我的 DateFormatConverter 类并相应地处理格式。
我在Startup 类中尝试了options.SchemaFilter<DateFormatSchemaFilter>(),但过滤器没有属性的上下文,所以除非我希望所有 DateTime 对象为date,否则这是这不是一个可行的选择。
【问题讨论】:
-
你试过 iDocumentFilter 吗?
标签: asp.net date swagger datetime-format swashbuckle