[C#Swagger / Swashbuckle Schemas如果我升级到5.0.0-rc4以上,则为空白

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

我可以提供更多详细信息,但不确定什么有用,因此如果需要,我将提供更具体的信息作为答复。

我有一个.NET Core 3.1项目,该项目正在使用Swashbuckle提供Swagger UI。它开始使用Swashbuckle.AspNetCore NuGet软件包版本5.0.0-rc4,并且一切正常。

我有一个使用Contract对象的控制器方法:

public async Task<IActionResult> Import([FromBody] Contract contract) {

这只是一个非常基础的类(我在进行故障排除时删除了所有内容,基本上只是:

public class Contract {
    /// <summary>
    /// Optional, summary
    /// </summary>
    public DateTime contractExpirationDate;
    public DateTime date;
}

这一切都很好,Swagger UI在Schemas部分中显示了Contract及其所有详细信息,并显示在controllers部分中,并通过填写示例结构正确地开始了试用,等等。>>

一切都很好。。。直到我尝试进一步更新Swashbuckle.AspNetCore ...只要我按下5.0.0-rc5或转到5.0.0,或一直到最新(当前5.4.1),我立即遇到以下问题。

基本上,发生的是,Swagger仍在运行,并且一切似乎都很好,但是Contract模式现在显示为简单的{}。它将SEES作为模式进行签约,但是它为空,并且控制器Try it示例没有示例(它仅以{}作为请求正文),依此类推。如果我只是将Swashbuckle.AspNetCore更新回5.0 .0-rc4,然后立即重新运行它,它将再次起作用。

我确定我缺少一些明显的更改/更新,需要超越5.0.0-rc4,但是我花了很长时间试图弄清楚它是什么,而且我空白了。 。我的代码似乎与Microsoft网站上的所有示例都匹配,所以我不确定我缺少的内容。

我可以提供更多详细信息,但不确定什么有用,因此如果需要,我将提供更具体的信息。我有一个.NET Core 3.1项目,该项目正在使用Swashbuckle提供Swagger UI ....

c# swagger swashbuckle swashbuckle.aspnetcore
1个回答
1
投票

[在5.0.0-rc4之后困扰您的问题是从Newtonsoft作为JSON库切换到System.Text.Json,这在您的公共字段上表现有所不同。

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