【问题标题】:Valid value for TimeSpan property to post in web api? C#TimeSpan 属性的有效值可在 Web api 中发布吗? C#
【发布时间】:2020-03-10 17:30:34
【问题描述】:

我有一个 TimeSpan 属性

public TimeSpan Time { get; set; }

目前使用 swagger 测试 API 试图找出在这里传递什么值

“时间”:{},

试过了:

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

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

"时间": "01:01:01",

“时间”:01:01:01,

全部返回401码

【问题讨论】:

  • 401 表示请求缺少有效的身份验证凭据。您能否提供更多关于您正在测试的 API、它需要什么样的身份验证以及您如何创建请求的详细信息?
  • 你使用什么框架版本?

标签: c# swagger asp.net-core-webapi timespan


【解决方案1】:

在另一个页面上,您将找到问题的解决方案:.Net Core 3.0 TimeSpan deserialization error - Fixed in .Net 5.0

以一种互补的方式,在招摇中添加这个

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

【讨论】:

  • 整个代码是:services.AddSwaggerGen( c => c.MapType(() => new OpenApiSchema { Type = "string", Example = new OpenApiString("00:00: 00") }) );这应该添加到 ConfigureServices 的 Startup 类中。
猜你喜欢
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
  • 1970-01-01
相关资源
最近更新 更多