Spring Boot2配置Swagger2生成API接口文檔詳情
一、Swagger2介紹
前后端分離開(kāi)發(fā)模式中,api文檔是最好的溝通方式。
Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。
- 及時(shí)性(接口變更后,能夠及時(shí)準(zhǔn)確地通知相關(guān)前后端開(kāi)發(fā)人員)
- 規(guī)范性(并且保證接口的規(guī)范性,如接口的地址,請(qǐng)求方式,參數(shù)及響應(yīng)格式和錯(cuò)誤信息)
- 一致性(接口信息一致,不會(huì)出現(xiàn)因開(kāi)發(fā)人員拿到的文檔版本不一致,而出現(xiàn)分歧)
- 可測(cè)性(直接在接口文檔上進(jìn)行測(cè)試,以方便理解業(yè)務(wù))
二、配置Swagger2
1、引入相關(guān)依賴(lài)
<!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <!--swagger ui--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
2、創(chuàng)建swagger的配置類(lèi)
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket webApiConfig(){ return new Docket(DocumentationType.SWAGGER_2) .groupName("webApi") .apiInfo(webApiInfo()) .select() .paths(Predicates.not(PathSelectors.regex("/admin/.*"))) .paths(Predicates.not(PathSelectors.regex("/error.*"))) .build(); } private ApiInfo webApiInfo(){ return new ApiInfoBuilder() .title("XX平臺(tái)API文檔") .description("本文檔描述了xxx接口定義") .version("1.0") // 創(chuàng)建人 .contact(new Contact("Jade", "http://jade.com", "55317362@qq.com")) .build(); } }
3、在啟動(dòng)類(lèi)上添加注解掃描swagger的配置類(lèi),進(jìn)行測(cè)試
要能掃描到swagger的配置類(lèi)SwaggerConfig
@SpringBootApplication // 要能掃描到swagger的配置類(lèi)SwaggerConfig @ComponentScan(basePackages = {"com.jade"}) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
4、API模型
可以添加一些自定義設(shè)置,例如:
定義樣例數(shù)據(jù)
@ApiModelProperty(value = "創(chuàng)建時(shí)間", example = "2019-01-01 8:00:00") @TableField(fill = FieldFill.INSERT) private Date gmtCreate; @ApiModelProperty(value = "更新時(shí)間", example = "2019-01-01 8:00:00") @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmtModified;
5、定義接口說(shuō)明和參數(shù)說(shuō)明
- 定義在類(lèi)上:@Api
- 定義在方法上:@ApiOperation
- 定義在參數(shù)上:@ApiParam
@Api(description="講師管理") @RestController @RequestMapping("/admin/edu/teacher") public class TeacherAdminController { @Autowired private TeacherService teacherService; @ApiOperation(value = "所有講師列表") @GetMapping public List<Teacher> list(){ return teacherService.list(null); } @ApiOperation(value = "根據(jù)ID刪除講師") @DeleteMapping("{id}") public boolean removeById( @ApiParam(name = "id", value = "講師ID", required = true) @PathVariable String id){ return teacherService.removeById(id); } }
6、測(cè)試,查看效果
訪問(wèn)http://localhost:8080/swagger-ui.html 即可
到此這篇關(guān)于Spring Boot2配置Swagger2生成API接口文檔詳情的文章就介紹到這了,更多相關(guān)Spring Boot2生成API接口文檔內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Spring MVC利用Swagger2如何構(gòu)建動(dòng)態(tài)RESTful API詳解
- 詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs
- SpringBoot2.1 RESTful API項(xiàng)目腳手架(種子)項(xiàng)目
- SpringBoot結(jié)合Swagger2自動(dòng)生成api文檔的方法
- SpringBoot集成Swagger2構(gòu)建在線API文檔的代碼詳解
- swagger2隱藏在API文檔顯示某些參數(shù)的操作
- SpringBoot2.7?WebSecurityConfigurerAdapter類(lèi)過(guò)期配置
- springboot2+es7使用RestHighLevelClient的示例代碼
- 淺談Springboot2.0防止XSS攻擊的幾種方式
相關(guān)文章
Mybatis中如何設(shè)置sqlSession自動(dòng)提交
在MyBatis中,默認(rèn)情況下,獲取的SqlSession對(duì)象不會(huì)自動(dòng)提交事務(wù),這意味著在進(jìn)行更新、刪除或插入等操作后,需要顯式調(diào)用commit方法來(lái)提交事務(wù),但是,可以在獲取SqlSession時(shí)通過(guò)將openSession方法的參數(shù)設(shè)置為true2024-09-09SpringBoot整合ip2region獲取客戶端IP地理位置信息
在我們?nèi)粘EB開(kāi)發(fā)工作中,經(jīng)常會(huì)有需要獲取客戶端地理位置的需求,本文主要介紹了SpringBoot整合ip2region獲取客戶端IP地理位置信息,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08java調(diào)用微信現(xiàn)金紅包接口的心得與體會(huì)總結(jié)
這篇文章主要介紹了java調(diào)用微信現(xiàn)金紅包接口的心得與體會(huì)總結(jié),有需要的朋友可以了解一下。2016-11-11Spring中的事件監(jiān)聽(tīng)器使用學(xué)習(xí)記錄
Spring框架中的事件監(jiān)聽(tīng)機(jī)制是一種設(shè)計(jì)模式,它允許你定義和觸發(fā)事件,同時(shí)允許其他組件監(jiān)聽(tīng)這些事件并在事件發(fā)生時(shí)作出響應(yīng),這篇文章主要介紹了Spring中的事件監(jiān)聽(tīng)器使用學(xué)習(xí),需要的朋友可以參考下2024-07-07Java基礎(chǔ)教程之類(lèi)數(shù)據(jù)與類(lèi)方法
這篇文章主要介紹了Java基礎(chǔ)教程之類(lèi)數(shù)據(jù)與類(lèi)方法,本文是對(duì)類(lèi)的深入探討,類(lèi)數(shù)據(jù)指類(lèi)的一些屬性、參數(shù)等,類(lèi)方法就是類(lèi)包含的功能方法,需要的朋友可以參考下2014-08-08mybatis中關(guān)于type-aliases-package的使用
這篇文章主要介紹了mybatis中關(guān)于type-aliases-package的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08