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

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

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

瀏覽:5日期:2023-04-03 14:01:17

第一部分:代碼集成

pom.xml

<!--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>

swagger2配置類

package com.liud.demo.config;import io.swagger.annotations.ApiOperation;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;/** * TODO * swagger2配置類 * @author liud * @version 1.0 */@Configuration@EnableSwagger2public class Swagger2 { //配置swagger2核心配置 @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) //指定api類型位swagger2.apiInfo(apiInfo()) //用于定義api文檔匯總信息.select()//.apis(RequestHandlerSelectors.basePackage('com.liud.demo.controller')) //指定生成文檔的controller//.apis(RequestHandlerSelectors.any()) //為任何接口生成API文檔//.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) //為有@Api注解的Controller生成API文檔.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) //為有@ApiOperation注解的方法生成API文檔.paths(PathSelectors.any()).build(); } //api基本信息 private ApiInfo apiInfo(){ return new ApiInfoBuilder().title('SpringBootDemo的項目接口API') //文檔標題.contact(new Contact('liud', //作者 '', '')) //聯系人.description('SpringBootDemo的項目接口API')//詳細信息.version('1.0.0')//文檔版本號.termsOfServiceUrl('')//網站地址.build(); }}

Controller

package com.liud.demo.controller;import com.liud.demo.service.HelloService;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import io.swagger.annotations.ApiParam;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;/** * TODO * * @author liud * @version 1.0 */@RestController@Api(tags = {'hello操作接口'})public class HelloController { @ApiOperation(value = '根據用戶名獲取用戶信息接口') @RequestMapping(value = '/getuserinfo',method = RequestMethod.POST) public String getUserInfo(HttpServletRequest request, @ApiParam(name='username',value = '用戶名',required = true) String username){ return '輸入的姓名:'+username+',這個用戶的信息已經存在!'; }}

第二部分 使用 ①原路徑模式

在瀏覽器上輸入url:http://{ip}:{port}/swagger-ui.html#/

我的地址:http://127.0.0.1:8081/swagger-ui.html

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

②文檔模式

在瀏覽器上輸入url:http://{ip}:{port}/doc.html

我的地址:http://127.0.0.1:8081/doc.html

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

第三部分 swagger2常用注解

常用注解:

@Api()用于類;表示標識這個類是swagger的資源tags?表示說明value?也是說明,可以使用tags替代但是tags如果有多個值,會生成多個list

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

效果:

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

@ApiOperation()用于方法;表示一個http請求的操作value用于方法描述notes用于提示內容tags可以重新分組(視情況而用)

@ApiParam()用于方法,參數,字段說明;表示對參數的添加元數據(說明或是否必填等)name?參數名value?參數說明required?是否必填

@ApiParam(name='username',value = '用戶名',required = true) String username

效果:

SpringBoot集成Swagger2構建在線API文檔的代碼詳解

@ApiModel()用于類 表示對類進行說明,用于參數用實體類接收 @ApiModelProperty()用于方法,字段 表示對model屬性的說明或者數據操作更改 @ApiIgnore()用于類,方法,方法參數 表示這個方法或者類被忽略 @ApiImplicitParam() 用于方法 表示單獨的請求參數 @ApiImplicitParams() 用于方法,包含多個@ApiImplicitParam

到此這篇關于SpringBoot集成Swagger2構建在線API文檔的文章就介紹到這了,更多相關SpringBoot集成Swagger2內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 耐热钢-耐磨钢-山东聚金合金钢铸造有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 带锯机|木工带锯机圆木推台锯|跑车带锯机|河北茂业机械制造有限公司| | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 爱科技iMobile-专业的科技资讯信息分享网站 | 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 国标白水泥,高标号白水泥,白水泥厂家-淄博华雪建材有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 浙江自考_浙江自学考试网 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 不发火防静电金属骨料_无机磨石_水泥自流平_修补砂浆厂家「圣威特」 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 合肥白癜风医院_[治疗白癜风]哪家好_合肥北大白癜风医院 | 仪器仪表网 - 永久免费的b2b电子商务平台 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 超声波反应釜【百科】-以马内利仪器 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 发光字|标识设计|标牌制作|精神堡垒 - 江苏苏通广告有限公司 |