本文介绍了指定SWAGER";试用的示例请求(&Q;)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法指定swagger的示例请求?甚至可能有多个?
Try it out
按钮仅显示如下的泛型值:
{
"firstName": "string",
"lastName": "string"
}
用于
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
当您必须首先编辑所有值时,使用大型对象会变得非常困难。我知道我可以使用Postman,我也是,但是能够使用Swagger创建多个好看且有用的示例将是非常好的。
推荐答案
在.Net5中,您可以将架构筛选器添加到Startup.cs中的swagger
public override void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(c =>
{
c.SchemaFilter<ExampleSchemaFilter>();
});
}
在ExampleSchemaFilter.cs中,您只需为特定类定义一个OpenApiObject:
using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
public class ExampleSchemaFilter : ISchemaFilter
{
public void Apply(OpenApiSchema schema, SchemaFilterContext context)
{
if (context.Type == typeof(User))
{
schema.Example = new OpenApiObject()
{
["firstName"] = new OpenApiString("John"),
["lastName"] = new OpenApiString("Doe"),
};
}
}
}
这篇关于指定SWAGER";试用的示例请求(&Q;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!