WebApi管道中swagger中间件的使用

引言:众所周知,一个请求从客户端到Api中间经过了一些中间件,即一截管道,这个管道在.net core 3.1中是独立运行在runtime运行时上的,且只在开始时构建一次。今天讲讲微软内置pack swagger中间件的使用,小弟给大家画个图

 

这个就像是管道的原理,独立运行在runtime之上,我们需要在中间做什么操作,就添加中间件就可以了,而我们今天讲到的中间件swagger的话就是其中一个。

 

 

原理:先讲一下原理这个swagger中间件的话,运行在pipe上,独立运行在runtime上,在开始时扫描所有接口的控制器,读出来写到一个json文件上,这个Json文件的属性要在服务构建时设置名字,Info等入参,访问的时候直接读出来,读出来就是一个可查看可测试的接口文档了,很方便。话不多说,先上代码,运行后效果图最后给大家看看。

 

实战:1.首先先安装服务

这个没什么好说的到nuget里面安装swagger或者install-package 包名 vesion 版本号,不会的铁子可以上网找一下,net core所有的核心代码一般都采用推包的方法,然后做依赖注入,以后讲设计原则和架构的时候细讲。

 

2.使用中间件要注册服务,我直接上代码,我解释一下,注册服务,入参是前面说到的json文件的关键信息和名字,这个Jeffrey是这个文件的名字

services.AddSwaggerGen(s=>
{
s.SwaggerDoc("Jeffrey", new OpenApiInfo()
{
Title = "TetraPak PlantMaster",
Version = "version-01",
Description = "工厂大师"
});
});

3.最后是使用中间件,先使用swagger,再使用他的UI给他展现出来

#region 使用swagger
app.UseSwagger();

app.UseSwaggerUI(s =>
{
s.SwaggerEndpoint("/swagger/Jeffrey/swagger.json", "test1");
});
#endregion

此时运行项目,访问端口号/swagger/index.html,就会出画面

聊聊UP的踩坑指南,刚开始再使用UI的时候地址前没有加/,导致报找不到json文件,然后还有一个index首字母小写

 

 

以上

 

posted @ 2022-03-09 16:00  Jeffrey是个瘦子  阅读(199)  评论(0)    收藏  举报