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