一: Swagger介绍

1. 随着现在微服务的发展和前后端分离的需要,现在接口文档尤其重要,在前后端分离的开发中,前后端联调一个好的接口文档特别重要,今天给大家分享一款前后端分离的接口文档神器,swagger,大家一定想swagger在工作中已经很熟悉了,有什么可介绍的,今天介绍的是在swagger上面做一一层优化的Swagger, 所以叫做给Swagger换一层新的皮肤

大多数项目使用swagger的配置如下(但是这种配置页面显示很不友好)

<!-- 配置 swagger ui-->
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version>
</dependency>
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.8.0</version>
</dependency>

访问接口地址:  http://localhost:port/swagger-ui.html  (如果你的项目名称加了前缀也需要加上)

是不是很难看呢

swagger 新皮肤在里的pom里面添加依赖如下依赖(原来上面的依赖不用添加了)

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><!--在引用时请在maven中央仓库搜索最新版本号--><version>2.0.4</version>
</dependency>

配置加载文件和原始的swagger一样,在项目里面新建一个config包(名称随便) 添加扫描swagger的类

@Configuration
@EnableSwagger2
public class Swagger2Config {@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()// 你项目需要扫描注册接口包.apis(RequestHandlerSelectors.basePackage("com.zhuguang.zhou.swagger.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {// 生成文当描述return new ApiInfoBuilder().title("swagger-ui").description("用户服务API文档").contact(new Contact("zhoushisheng","","1358281371@qq.com")).version("1.0").build();}
}

访问接口地址: http://localhost:port/doc.html (如果你的项目名称加了前缀也需要加上)

左边为功能导航条,选择对应的模块和接口就可以进行调试了,调试如下

点击发送下面就会有返回对应的响应结果,是不是觉得高大上很多了

二: 下面来讲讲Swagger接口的配置注解

1.  @Api 标记在接口上面 描述该api的主要功能和他对应的在左边导航条的显示位置

2.  @Api(tags = "用户模块", position = 2)

@ApiOperation 对类里面单个接口的描述, value 和 notes  都是用来描述接口的主要功能

3. @ApiImplicitParams 对接口里面参数的描述  name 字段名称,dataType 数据类型,paramType 参数位置,

required 是否必传 (里面还有很多参数这里就不做细化了胖友可以自行阅读)

@ApiOperation(value = "根据客户标签发送消息",notes = "根据客户标签发送消息")
@ApiImplicitParams({@ApiImplicitParam(name = "title",value = "通知标题", dataType = "String", paramType="query", required = true),@ApiImplicitParam(name = "context",value = "通知内容", dataType = "String", paramType="query", required = true),@ApiImplicitParam(name = "tags",value = "客户标签", dataType = "List", paramType="body", required = true),
})

如果有登录权限拦截需要剔除下面的请求拦截才能显示页面信息

paths.add("/swagger-ui.html/**");
        paths.add("/swagger-ui/**");
        paths.add("/swagger-resources/**");
        paths.add("/v2/api-docs/**");
        paths.add("/v3/api-docs/**");
        paths.add("/webjars/**");
        paths.add("/doc.html/**");
        paths.add("/favicon.ico");

关于其他的Swagger注解胖友可以自行阅读,当然优化后的Swagger可以在网关层将所有的网关下层模块一起集成起来,在这里面就不做介绍了,有兴趣的胖友可以自行研究,或是给我留言,笔者看到会及时回复,(这里提醒下胖友,在生产上面是不用将swagger的接口开放出来的所以需要做一个开关控制在生产上面不做Swagger的扫描,这个应该很简单吧,不会的胖友留言哈)

今天的分享就到这了 88

给Swagger换上新的皮肤相关推荐

  1. 大学生换学校学计算机,高校换上新课桌,同学表示“世界观被颠覆”,网友:黑科技的诞生...

    随着国家的经济在不断壮大,对于的教育也是越来越重视.不光是给学生提供资历深厚的老师,更是要给学生提供先进的教育资源. 课桌对于学生而言是非常重要的,是学生学习不可离开的学习用品之一.如果学生在学校没有 ...

  2. 大学计算机课桌面弄毛玻璃,高校换上新课桌,同学表示“世界观被颠覆”,网友:黑科技的诞生...

    原标题:高校换上新课桌,同学表示"世界观被颠覆",网友:黑科技的诞生 随着国家的经济在不断壮大,对于的教育也是越来越重视.不光是给学生提供资历深厚的老师,更是要给学生提供先进的教育 ...

  3. 2021-07-15领健医美微医云拓客his软件收藏!从选址到试营业,新开皮肤诊所筹备全攻略

    领健医美微医云拓客his软件收藏!从选址到试营业,新开皮肤诊所筹备全攻略 据艾瑞咨询数据显示,2020年中国轻医美市场规模为545亿元,预计2021年市场规模将增至798亿元. 2020年具备医疗美容 ...

  4. 王者荣耀S29赛季是什么时候开始更新及王者荣耀S29赛季幻海映的新英雄皮肤是谁?

    王者荣耀S29赛季是什么时候更新? 王者荣耀官方于2022年9月17日发布,王者荣耀S29赛季将于2022年9月22日正式上线. 王者荣耀S29赛季的新英雄皮肤是谁? 王者荣耀S29赛季新英雄是:海月 ...

  5. 银灰的拳击机器人_明日方舟:银灰画师对新泳装皮肤致歉 年一游果然名不虚传...

    明日方舟对于近期公开的即将登场的六星近卫干员银灰的新泳装皮肤,没想到引发了部分博士的争议和不满,借此作为银灰画师的龙崎一老师也正式发表了致歉声明,具体事件的前因后果,这里带来详细的说明. 具体事件的起 ...

  6. swagger换新UI

    swagger 很多同学,尤其是做前后端分离开发,会在后端项目中加入swagger来自动生成文档,而且也能进行简单的接口测试,但是官方的ui很简陋而且并不是很贴合国人的审美和操作,所以一般会引入第三方 ...

  7. 为了在元宇宙里摸到东西,扎克伯格整出了一款新电子皮肤,成本6美元

    丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 未来的元宇宙会有触觉交互? 这不,扎克伯格刚刚宣布Facebook更名为Meta没两天,又"趁热打铁"地宣传起一款机器人 ...

  8. 给列名称命名_批量提取文件名,然后换上新名称

    本文由两部分构成,[批量提取指定文件夹下文件名]以及[批量文件重命名].嗯~简易操作~不涉及VBA编程~ 批量提取指定文件夹下文件名 操作动画如下: 如动画所示,先定义一个名称. 名称为文件夹,引用位 ...

  9. PS去图片上的logo并换上新的logo

    左侧菜单矩形选框–右键选择矩形–选择要去掉的区域–右键填充就没了. 把新logo直接拖到之前的图片上

最新文章

  1. 使用OpenCV,Keras和Tensorflow构建Covid19掩模检测器
  2. 单体预聚合的目的是什么_线型低密度聚乙烯的单体单元比例到底是多少?
  3. iphone查看删除的短信_iPhone12发布!刚买的苹果手机短信全部消失了怎么办?
  4. cad2006安装未找到html文件,启动 AutoCAD 时显示“加载自定义文件失败。未找到文件”...
  5. setGeometry: Unable to set geometry 493x379+674+326 (frame: 517x443+662+274) on QWidgetWindow/“Dialo
  6. A cycle was detected in the build path of project
  7. Linux版APP超级签名分发系统源码
  8. oracle导出自增设置,oracle008:oracle自增,自适应,数据闪回,导入导出
  9. 181215每日一句
  10. 视频课程:高等数学考研辅导讲座-上
  11. 【Android自定义View】仿Photoshop取色器ColorPicker(二)
  12. DOSBox安装及使用教程
  13. Vs2010 破解 序列号
  14. html导航栏的颜色怎么改变,我怎样才能改变导航栏的背景颜色
  15. Redhat_rhel8.0_FTP服务配置
  16. Android系统sdcard目录
  17. 电脑实时监控信息:CPU 内存 GPU使用率在桌面上动态展现
  18. 如何写出公众号爆文?分享你一份爆文写作秘籍
  19. Lemon评测机的使用
  20. RISC-V SiFive U54内核——中断和异常详解

热门文章

  1. DVWA登录login failed
  2. mod游戏什么意思计算机,游戏里mod什么意思
  3. 三十而立|企业数据资产化管理的东软实践
  4. 驱动模块(ko)文件加载失败分析
  5. 看着G20晚会的烟花,手机却收到了这个...
  6. AIGC - 生产力新工具 Bito AI
  7. Codeforces Round #770 (Div. 2) B. Fortune Telling
  8. vc++ 德卡(IC卡)D3-U设密与读写应用
  9. 【目标检测】论文笔记Arbitrary-Oriented Object Detection with Circular Smooth Label(2020)
  10. 快速理清使用SSH框架的前后台数据交互/调用的顺序流程(新手)