(一)swagger配置管理webapi接口
1:nuget引入swagger相关dll
Swashbuckle.AspNetCore.Swagger
Swashbuckle.AspNetCore.SwaggerGen
Swashbuckle.AspNetCore.SwaggerUI
2:ConfigureServices方法配置suagger
public void ConfigureServices(IServiceCollection services)
{
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Title = "Api管理", Version = "v1" });
var basePath = PlatformServices.Default.Application.ApplicationBasePath;
var xmlPath = Path.Combine(basePath, "swagger.xml");
c.IncludeXmlComments(xmlPath, true);
c.AddSecurityDefinition("Bearer2", new OpenApiSecurityScheme()
{
Description = "JWT授权token前面需要加上字段Bearer与一个空格,如Bearer token",
Name = "Authorization",//jwt默认的参数名称
In = ParameterLocation.Header,//jwt默认存放Authorization信息的位置(请求头中)
Type = SecuritySchemeType.ApiKey,//使用普通apikey
BearerFormat = "JWT",
Scheme = "Bearer"
});
c.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference {
Type = ReferenceType.SecurityScheme,
Id = "Bearer2"//对应上面的Bearer2
},
},
new string[] { }
}
});
}) ;
services.AddControllers();
}
3:Configure里面启用swagger
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseSwagger();
app.UseSwaggerUI(p => p.SwaggerEndpoint("/swagger/v1/swagger.json", "Api管理"));//Api管理呢几个字一定要与上面的OpenApiInfo 的Title一致,否则会报错
}
4:在右键项目属性=>生成=>勾选xml文档文件,勾选后显示(D:\项目\netcore分解标准版本\swagger\swagger\swagger.xml)
5:在右键项目属性=>调试=>勾选启动浏览器,然后输入(swagger/index.html)
6:获取header里面的值(HttpContext1.Current1在ioc依赖注入里面写了的),在swagger通过execute提交后台测试,前端提交代码在vue3.x的十四节的5小点的(2):里面
[Route("/api/Test")]
[ApiController]
public class TestController : ControllerBase
{
//像呢种swagger传值测试就很方便
[Route("GetQsPost1")]
[HttpPost]
public string GetQsPost1([FromForm] Getss getss, [FromForm] string sort, [FromForm] string name)
{
string headers = HttpContext1.Current1.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
return "";
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术