.net core使用swagger
1新建一个web api项目, 首先引用swagger NUget包
Swashbuckle.AspNetCore

2 在startup中配置swagger服务
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
// 注册Swagger服务
services.AddSwaggerGen(c =>
{
// 添加文档信息
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo
{
Version = "v1",
Title = "zhuyun's API",
Description = "A simple example ASP.NET Core Web API"
});
// 使用反射获取xml文件。并构造出文件的路径
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
// 启用xml注释. 该方法第二个参数启用控制器的注释,默认为false.
c.IncludeXmlComments(xmlPath, true);
//对于报错“Failed to load API definition.”的处理
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
#region swagger
//启用中间件服务生成Swagger作为JSON终结点
app.UseSwagger();
//启用中间件服务对swagger-ui,指定Swagger JSON终结点
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
//路径配置,设置为空,表示可以去除一个字符 在lunchsetting中配置launchUrl为swagger/index.html 则输入地址localhost:5000/Index.html即可访问swagger
c.RoutePrefix = "";
});
#endregion
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
3 在lunchsetting中设置启动地址为swagger

基本的起点就可以实现swagger页面
4 现在配置xml文件生成 可实现接口的备注


实现效果

swagger出现500的原因

浙公网安备 33010602011771号