![](/img/trans.png)
[英]Multiple versioning URL not working in Swashbuckle.AspNetCore 5.0.0rc
[英]Swashbuckle.AspNetCore (5.0.0-rc5) ignoring public fields
首先,這在 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 生成,這很常見)
好的,根據@Flydog57 的建議自行解決,我發現新的 Swashbuckle.AspNetCore 正在通過 Newtonsoft 使用 MS json.net。
所以在https://github.com/domaindrivendev/Swashbuckle.AspNetCore 上第十次閱讀 git readme
我發現有一種方法可以將 json 序列化程序恢復為 Newtonsoft。 首先(從 5.0.0-rc5 版本開始)安裝這個包;
Install-Package Swashbuckle.AspNetCore.Newtonsoft -Version 5.0.0-rc5
然后在 Start.ConfigureServices 中告訴 Swashbuckle 使用;
services.AddSwaggerGenNewtonsoftSupport();
現在,您會發現所有這些公共“字段”都重新出現在您的 swagger 頁面中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.