使用 .NET 从 swagger UI 中删除默认的“字符串”

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

我在 .NET 5 中使用 Swagger

点击 Try it out 后,Swagger 在正文中显示一个“字符串”。 (请看下面的截图)

我希望它显示“{}”。

这就是我尝试过的:

public class EmptyStringRequestBodyFilter : IOperationFilter
    {
        public void Apply(OpenApiOperation operation, OperationFilterContext context)
        {
            var schema = operation.RequestBody?.Content?.FirstOrDefault().Value?.Schema;

            if (schema != null)
            {
                foreach (var property in schema.Properties)
                {
                    if (property.Value.Type == "string")
                    {
                        property.Value.Example = new OpenApiString("{}");
                        property.Value.Default = new OpenApiString("{}");
                    }
                }
            }
        }
    }

以及 Startup.cs :

 services.AddTransient<IOperationFilter, EmptyStringRequestBodyFilter>();

但这没有帮助,我仍然得到“字符串”。

如何替换为“{}”或只留空?

谢谢。

.net swagger-ui openapi swashbuckle
1个回答
0
投票

型号中:

public class HiModel
{
    [Required]
    [DefaultValue("")]
    public string Hi{ get; set; }
}
© www.soinside.com 2019 - 2024. All rights reserved.