Swashbuckle.AspNetCore(5.0.0-rc5)忽略公共字段

问题描述 投票:0回答:1

首先,这在Swashbuckle.AspNetCore v4中工作正常。因此,鉴于此模型和端点;

public class TestRequest
{
    public string test1 { get; set; }
    public string test2;
}

[HttpPost]
public void Post([FromBody] TestRequest value)
{
}

挥舞着只显示;

{
  "test1": "string"
}

作为示例TestRequest值。

此行为现在是故意的吗?无论如何,可以通过设置或过滤器更改此设置吗?我有大量的仅使用字段的导入服务。 (由dotnet-svcutil生成,这很常见)

c# swagger swashbuckle
1个回答
0
投票

好吧,接受@ 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();

现在,您会发现所有这些公共“字段”都重新显示在您的招摇页面中。

© www.soinside.com 2019 - 2024. All rights reserved.