.Net Core API 使用Swagger
1.swagger是什么
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
2.项目引入
2.1 新建.NetCoreAPI项目
按照如下操作,新建API项目
2.2 Nuget包引用
在项目中,Nuget引入Swashbuckle.AspNetCore。具体操作如下
安装成功后,需要在程序中进行以下修改:
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(config =>
{
config.SwaggerDoc("v1", new OpenApiInfo { Title = "WebApiDemo Api", Version = "v1" });
});
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseSwagger(c =>
{
c.RouteTemplate = "api-doc/{documentName}/swagger.json";
});
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "api-doc";
c.SwaggerEndpoint("v1/swagger.json", "WebApiDemo Api v1");
});
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
2.3 项目属性
右键项目属性,打开“调试”面板,进行如下设置:
3.效果
运行项目,浏览器如下显示swagger面板: