我们用示例值指定输入属性
/// <summary>
/// Start date in format YYYY-MM-DD
/// </summary>
/// <example>2020-05-31</example>
[DataType(DataType.Date)]
public DateTime? From { get; set; }
并生成以下json
{
"name": "from",
"in": "query",
"description": "Start date in format YYYY-MM-DD",
"schema": {
"type": "string",
"description": "Start date in format YYYY-MM-DD",
"format": "date",
"nullable": true,
"example": "31/05/2020 12:00:00 AM"
}
}
该示例似乎不遵守日期格式,即full-date的YYYY-MM-DD
我使用的设置代码:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSwaggerGen(swaggerGenOption =>
{
swaggerGenOption.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
swaggerGenOption.IncludeXmlComments(XmlDocPath<Startup>());
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseSwagger();
app.UseSwaggerUI(config =>
{
config.RoutePrefix = string.Empty
config.SwaggerEndpoint("./swagger/v1/swagger.json", "TST");
});
app.UseEndpoints(endpoints => endpoints.MapControllers());
}