我在 .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>();
但这没有帮助,我仍然得到“字符串”。
如何替换为“{}”或只留空?
谢谢。
型号中:
public class HiModel
{
[Required]
[DefaultValue("")]
public string Hi{ get; set; }
}