C# Swagger无法识别.net core 3.0引入的JsonPropertyName

C# Swagger无法识别.net core 3.0引入的JsonPropertyName,c#,swagger,asp.net-core-webapi,asp.net-core-3.0,C#,Swagger,Asp.net Core Webapi,Asp.net Core 3.0,我们在.Net Core 2.2上安装了WEB API,配置了swagger和以下型号: public class ProjectCreateDto { [JsonPropertyName("project_id")] public string ProjectId { get; set; } [JsonPropertyName("goods_ids")] public long[] GoodsIds { get; set; } } 最近我们转到了.Net C

我们在.Net Core 2.2上安装了WEB API,配置了swagger和以下型号:

public class ProjectCreateDto
{
    [JsonPropertyName("project_id")]
    public string ProjectId { get; set; }

    [JsonPropertyName("goods_ids")]
    public long[] GoodsIds { get; set; }
}

最近我们转到了.Net Core 3.0,现在我们使用System.Text.Json.Serialization,结果发现swagger似乎不支持新引入的JsonPropertyName。这对于所有使用我们API的人来说都是非常关键的。因此,我选择了projectId。是否有任何变通方法来实现兼容的招摇和新的序列化?谢谢。

您可以试试NewtonSoftJson@SushantYelpale我在升级到3.0之前使用过它。但是我不得不选择System.Text.Json,因为我所有的内部转换测试都失败了,AddNewtonsoftJson()也没有做到这一点。虽然新的序列化工作得很好,但swagger会生成忽略属性的scheme。这似乎是Swashback.AspNetCore的一个已知问题: