首先,这在Swashbuckle v4中很好用。因此,鉴于此模型和端点;
public class TestRequest
{
public string test1 { get; set; }
public string test2;
}
[HttpPost]
public void Post([FromBody] TestRequest value)
{
}
挥舞着只显示;
{
"test1": "string"
}
作为示例TestRequest值。
此行为现在是故意的吗?无论如何,可以通过设置或过滤器更改此设置吗?我有很多不使用getter和setter的导入服务。 (由dotnet-svcutil生成,这很常见)
好吧,接受@ Flydog57建议自己弄清楚了,我发现新的Swashbuckle.AspNetCore正在Newtonsoft上使用MS json.net。
因此,在https://github.com/domaindrivendev/Swashbuckle.AspNetCore处第十次读取git自述文件>
我发现有一种方法可以将json序列化程序还原为Newtonsoft。首先(从5.0.0-rc5版本开始)安装此软件包;
Swashbuckle.AspNetCore.Newtonsoft -Version 5.0.0-rc5
然后在Start.ConfigureServices中告诉Swashbuckle使用者;
services.AddSwaggerGenNewtonsoftSupport();
现在,您会发现所有这些公共“字段”都重新显示在您的招摇页面中。