给ASP.NET Core WebAPI添加Swagger支持
2023-09-11 14:22:25 时间
ASP.NET Core WebAPI是开发WebAPI接口的有利武器,且由于拥有.NET Core的基因支持跨平台,是当前.NET中开发接口的有利武器。但一般来说WebAPI接口开发完毕后,在发布前还需要测试。我们可以借助于外部的Fiddler等工具进行测试,但不太方便,尤其要进行接口传值时。那这个时候可以通过Swagger工具直接在Web网页中操作会极大的方便进行接口测试工作。
操作步骤:
一、asp.net core项目通过nuget包管理器添加swashbuckle.AspNetCore包
注意名称,不要添加错误,如下图所示。
二、在program.cs中注册swagger服务
注册swagger服务,可以通过添加中间件的形式注入,代码如下:
// Add services to the container.
builder.Services.AddSwaggerGen(t =>
{
t.SwaggerDoc("v1", new OpenApiInfo()
{
Title = "xxx", //xxx内容为swagger中显示的标题
Version = "v1",//v1为显示的版本号
Description = "xxx", //xxx内容为swagger中显示的描述部分
});
});
添加swagger支持
//添加swagger
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "test");
});
三、运行WebAPI项目
修改launchSettings.json文件的launchUrl为swagger,如下。这样运行时就可以直接打开swagger界面了。
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:48397",
"sslPort": 0
}
},
"profiles": {
"BroadswordWebAPI": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:5220",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
ctrl+f5直接运行项目
可以通过界面直接测试调用接口,并可以方便的传值调用,非常方便,推荐!
相关文章
- ASP.NET Core分布式异常日志收集框架Exceptionless实战演练
- asp.net C#生成和解析二维码代码
- ASP.NET缓存 Cache之数据缓存
- asp .net 为图片添加图片水印 .
- ASP.NET MVC 基于角色的权限控制系统的示例教程
- .NET、C#和ASP.NET三者之间的区别
- ASP.NET Core 6框架揭秘实例演示[08]:配置的基本编程模式
- ASP.NET Core静态文件中间件[1]: 搭建文件服务器
- ASP.NET Core管道详解[4]: 中间件委托链
- ASP.NET Core应用基本编程模式[5]:如何放置你的初始化代码
- 阅读了这三篇文章,你也就基本理解了ASP.NET Core MVC框架的工作原理
- TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
- 学习ASP.NET Core,怎能不了解请求处理管道[2]: 服务器在管道中的“龙头”地位
- 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?
- ASP.NET Core的配置(3): 将配置绑定为对象[上篇]
- ASP.NET Core的配置(1):读取配置信息
- ASP.NET Core中的依赖注入(3): 服务的注册与提供
- [ASP.NET] 如果将缓存“滑动过期时间”设置为1秒会怎样?
- ASP.NET Web Pages - WebSecurity 对象
- net start mysql 无法启动mysql解决方案之一【NET HELPMSG 3534】
- ASP.NET Core使用EF Core操作MySql数据库
- ASP.NET Core MVC 之过滤器(Filter)
- ASP.NET Core教程:ASP.NET Core中使用Redis缓存
- Asp.net core中间件实现原理及用法解说