【发布时间】:2020-01-11 00:23:10
【问题描述】:
首先,这在 Swashbuckle.AspNetCore v4 中运行良好。 所以给定这个模型和端点;
public class TestRequest
{
public string test1 { get; set; }
public string test2;
}
[HttpPost]
public void Post([FromBody] TestRequest value)
{
}
Swagger 只显示;
{
"test1": "string"
}
作为示例 TestRequest 值。
现在是这种行为吗? 无论如何通过设置或过滤器来改变这个? 我有大量只使用字段的导入服务。 (由 dotnet-svcutil 生成,很常见)
【问题讨论】:
-
您的
test1是一个财产。您的test2是一个字段。 Swashbuckle 只显示属性 -
所以 Swashbuckle v4 显示了字段和属性,但 v5 只显示了属性?有没有关于这种新行为的链接可以分享?
-
我不知道。我读了您的问题 “Swashbuckle (5.0.0-rc5) ignoring public properties without getter/setter” 并回答说:“其中一个是字段而不是属性”。 Swashbuckle 是非常可配置的。默认值可能已更改。去找启动/配置代码,看看能不能改一下。
-
好吧,我花了一天的时间试图弄清楚,还要多久才能在这里问这个问题?我希望这个问题会被广泛传播,因为 aspnet core 3.1 要求您使用 Swashbuckle v5 RC。在这一点上,我什至不知道这是一个错误还是有意的。
-
我的意思是,您的问题确实应该以指出 v4(在 .NET vN(对于某些 N)上)记录公共
fields和公共properties的方式来表述,但是.NET Core 3.1 上的 v5rc 仅记录properties。让“getter and setter”离开那里。询问是否有需要设置的配置
标签: c# swagger swashbuckle