首页 > 解决方案 > 显示时间组件/错误格式的 Swashbucke 日期示例

问题描述

我们指定一个带有示例值的输入属性

/// <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"
  }
}

看起来该示例不尊重招摇日期格式,即:格式为 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());
}

标签: swaggerswashbuckleswashbuckle.examples

解决方案


推荐阅读