电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

springboot如何集成Swagger2

瀏覽:2日期:2023-04-03 11:35:32
一、是什么

當下很多公司都采取前后端分離的開發模式,前端和后端的工作由不同的工程師完成。在這種開發模式下,維持一份及時更新且完整的 Rest API 文檔將會極大的提高我們的工作效率。傳統意義上的文檔都是后端開發人員手動編寫的,相信大家也都知道這種方式很難保證文檔的及時性,這種文檔久而久之也就會失去其參考意義,反而還會加大我們的溝通成本。而 Swagger 給我們提供了一個全新的維護 API 文檔的方式。

二、為什么要使用它

1、代碼變更,文檔跟著代碼變、只需要少量的注解Swagger就可以根據代碼自動的生成API文檔,很好的保證了文檔的實時性。

2、跨語言,Swagger支持40多種語言。

3、Swagger UI 呈現出來的是一份可以交互的API文檔,我們可以直接在文檔頁面嘗試API的調用,省去了準備復雜的調用參數的過程。

4、還可以將文檔規范導入相關的工具里面(例如:Postman、SoapUI)、這些工具將會為我們自動地創建自動化測試。

三、怎么用

1、在項目pom.xml里面加入Swagger2相關的依賴

<!--swagger2配置--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.6</version> </dependency>

2、新建Swagger2的配置類

package com.zhouhong.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @ClassName: Swagger2 * @Description: * @Author: 周紅 * @NickName: Tom-shuhu * @Date: Created in 2020/12/15 **/@Configuration@EnableSwagger2public class Swagger2 { // http://localhost:8088/swagger-ui.html 原路徑 // http://localhost:8088/doc.html 原路徑 //配置swagger2核心配置 @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) //指定api類型位swagger2 .apiInfo(apiInfo()) //用于定義api文檔匯總信息.select().apis(RequestHandlerSelectors .basePackage('com.zhouhong.controller')) //指定生成文檔的controller.paths(PathSelectors.any()).build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder().title('Tom-shushu 的項目接口api') //文檔標題.contact(new Contact('周紅', //作者 'www.zhouhong.icu', '15249239025@163.com')) //聯系人.description('Tom-shushu 的項目api接口')//詳細信息.version('1.0.0')//文檔版本號.termsOfServiceUrl('www.zhouhong.icu')//網站地址.build(); }}

文檔配置說明:

a.為任何接口生成API文檔,這種方式不必在接口方法上加任何注解,方便的同時也會因為沒有添加任何注解所以生成的API文檔也沒有注釋,可讀性不高。

@Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//為任何接口生成API文檔.apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build(); }

b.為當前配置的包下controller生成API文檔

.apis(RequestHandlerSelectors.basePackage('com.troila'))

c.為有@Api注解的Controller生成API文檔

.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))

d.為有@ApiOperation注解的方法生成API文檔

.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))三、常見注解簡介

@Api:修飾整個類,描述Controller的作用 @ApiOperation:描述一個類的一個方法,或者說一個接口 @ApiParam:單個參數描述 @ApiModel:用對象實體來作為入參 @ApiProperty:用對象接實體收參數時,描述對象的一個字段 @ApiResponse:HTTP響應其中1個描述 @ApiResponses:HTTP響應整體描述 @ApiIgnore:使用該注解忽略這個API @ApiError :發生錯誤返回的信息 @ApiImplicitParam:一個請求參數 @ApiImplicitParams: 多個請求參數四、演示(為方便我使用了上面第一種配置)

1、使用原路徑訪問

springboot如何集成Swagger2

2、原路徑調試

springboot如何集成Swagger2

3、doc模式訪問

springboot如何集成Swagger2

4、doc模式調試

springboot如何集成Swagger2

以上就是springboot集成Swagger2的詳細內容,更多關于springboot集成Swagger2的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
主站蜘蛛池模板: 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 礼仪庆典公司,礼仪策划公司,庆典公司,演出公司,演艺公司,年会酒会,生日寿宴,动工仪式,开工仪式,奠基典礼,商务会议,竣工落成,乔迁揭牌,签约启动-东莞市开门红文化传媒有限公司 | 红酒招商加盟-葡萄酒加盟-进口红酒代理-青岛枞木酒业有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 微动开关厂家-东莞市德沃电子科技有限公司 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 石油/泥浆/不锈钢防腐/砂泵/抽砂泵/砂砾泵/吸砂泵/压滤机泵 - 专业石油环保专用泵厂家 | 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 北京中航时代-耐电压击穿试验仪厂家-电压击穿试验机 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 品牌策划-品牌设计-济南之式传媒广告有限公司官网-提供品牌整合丨影视创意丨公关活动丨数字营销丨自媒体运营丨数字营销 | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 钢格板_钢格栅_格栅板_钢格栅板 - 安平县鑫拓钢格栅板厂家 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 九州网址_专注于提供网址大全分享推广中文网站导航服务 | 美的商用净水器_美的直饮机_一级代理经销商_Midea租赁价格-厂家反渗透滤芯-直饮水批发品牌售后 | 楼承板设备-楼承板成型机-免浇筑楼承板机器厂家-捡来 | CPSE安博会|