如何解决Swagger 无法将 JsonProperty("PropertyName") 识别为请求属性
我在 .net core3.1 中有一个 web api,我正在使用 swagger。
我的一个请求数据类如下。
public class SNMPv1ReqData{
[JsonProperty("snmpV1Info")]
[MinLength(1)]
[MaxLength(2000)]
[required]
public List<SNMPv1Info> SNMPv1InfoLst { get; set; }
}
public class SNMPv1Info{
[JsonProperty("host")]
[required]
public string HostName { get; set; }
[JsonProperty("snmpV1Setting")]
public SNMPv1Setting SNMPv1Setting { get; set; }
[JsonProperty("oid")]
[MinLength(1)]
[MaxLength(1000)]
[required]
public string[] OID { get; set; }
}
在 swagger 请求中显示如下,因为它在 JsonProperty("PropertyName") 中提到
{
"snmpV1Info": [
{
"host": "string","snmpV1Setting": {
"retryCount": 0,"timeout": 0,"port": 0,"communityName": "string"
},"oid": [
"string"
]
}
]
}
{
"title": "One or more validation errors occurred.","status": 400,"errors": {
"SNMPv1InfoLst": [
"The SNMPv1InfoLst field is required."
]
}
}
SNMPv1InfoLst 是变量名,但我想在 api 请求中使用“snmpV1Info”,在 JsonProperty("snmpV1Info") 中提到的也在 swagger 请求中显示“snmpV1Info”。
Startup.cs
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1.0.0",new Microsoft.OpenApi.Models.OpenApiInfo
{
Title = "WebAPI",Version = "v1.0",Description = "Edge ASP.NET Core Web API",});
// Set the comments path for the Swagger JSON and UI.
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory,xmlFile);
c.IncludeXmlComments(xmlPath);
});
services.AddSwaggerGenNewtonsoftSupport();
Swashbuckle.AspNetCore:5.6.3 Swashbuckle.AspNetCore.Newtonsoft:5.6.3 .Net Core3.1
我无法找到此问题的原因。有人可以帮我吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。