.net中有一个组件叫【Swashbuckle】,它封装了swagger,使用非常方便,swagger可以直接测试API接口,使用方法大致如下。
1、到管理NuGet程序包,下载安装 Swashbuckle.AspNetCore包
2、勾选 文档文件 项目属性-生成-输出
下面的XML文档文件路径可以自定义(我用的默认)
3、配置Program.cs文件
添加服务
builder.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1",
new Microsoft.OpenApi.Models.OpenApiInfo
{
Title = "Own Api Swagger Doc",
Description = "try to use swagger build api doc",
Version = "v1"
});
});
添加管道
app.UseSwagger();
app.UseSwaggerUI(m =>
{
m.SwaggerEndpoint("/swagger/v1/swagger.json", "ChatClient");
});
这样就配置好swagger了。
API接口:添加一个包含读、写操作的API控制器(会自动生成接口,然后对其修改即可),也可以选择添加一个空的API控制器
路由[Route("api/[controller]")]可自行修改
运行项目打开Swagger UIhttps://localhost:xxxx/swagger/index.html (xxxx为端口号)即可扫描到项目的api接口
如果运行swagger首页报如下错误,应该是由于某些控制器的接口函数没有带http动词,或者出现多个重复的动词。