要在 Web api 中发布的 TimeSpan 属性的有效值?C#

And*_*lan 7 c# timespan swagger asp.net-core-webapi

我有一个 TimeSpan 属性

public TimeSpan Time { get; set; }
Run Code Online (Sandbox Code Playgroud)

目前正在使用 swagger 来测试 API 试图弄清楚这里要传递什么 value 值

“时间”: {},

尝试过:

“时间”:{“01:01:01”},

“时间”:{“01:01”},

“时间”:“01:01:01”,

“时间”:01:01:01,

全部返回401代码

小智 15

在另一页上,您将找到问题的解决方案:.Net Core 3.0 TimeSpan 反序列化错误 - 已在 .Net 5.0 中修复

以补充的方式,将其添加到 swagger 中

c.MapType<TimeSpan>(() => new OpenApiSchema
                {
                    Type = "string",
                    Example = new OpenApiString("00:00:00")
                });
Run Code Online (Sandbox Code Playgroud)

  • 整个代码是: services.AddSwaggerGen( c =&gt; c.MapType&lt;TimeSpan?&gt;(() =&gt; new OpenApiSchema { Type = "string", Example = new OpenApiString("00:00:00") }) ); 应该将其添加到 Startup 类的ConfigureServices 中。 (2认同)