激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java集成swagger文檔組件

Java集成swagger文檔組件

2021-09-17 09:40guxiaohai_ Java教程

這篇文章主要介紹了Java集成swagger文檔組件,通過詳細的圖文介紹和代碼分析展示,從頭展開說明詳細的過程,希望對你的開發有所幫助

一:簡介

  Swagger 是一個規范和完整的框架,用于生成、描述、調用和可視化 RESTful 風格的 Web 服務??傮w目標是使客戶端和文件系統作為服務器以同樣的速度來更新。文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來始終保持同步。Swagger 讓部署管理和使用功能強大的API從未如此簡單。

二:集成swagger

1.引入pom.xml文件包(導入4個jar包)

注意:jdk1.8以上才能運行swagger2

  1. <!--swagger-->
  2. <dependency>
  3. <groupId>io.springfox</groupId>
  4. <artifactId>springfox-swagger2</artifactId>
  5. <version>2.8.0</version>
  6. </dependency>
  7. <!--swagger-ui-->
  8. <dependency>
  9. <groupId>io.springfox</groupId>
  10. <artifactId>springfox-swagger-ui</artifactId>
  11. <version>2.8.0</version>
  12. </dependency>
  13. <!--swagger-ui增強-->
  14. <dependency>
  15. <groupId>com.github.xiaoymin</groupId>
  16. <artifactId>knife4j-spring-boot-starter</artifactId>
  17. <version>2.0.4</version>
  18. </dependency>
  19. <!--swagger-xml bind-->
  20. <dependency>
  21. <groupId>javax.xml.bind</groupId>
  22. <artifactId>jaxb-api</artifactId>
  23. <version>2.3.0</version>
  24. </dependency>

2.要想使用Swagger,必須編寫一個配置類來配置 Swagger,這里的配置類如下

  1. @Configuration
  2. @EnableSwagger2
  3. public class SwaggerConfig {
  4. private String title = "標題..";
  5. private String description = "";
  6. private String termsOfServiceUrl = "";
  7. private String version = "版本號..";
  8.  
  9. @Bean
  10. public Docket createDefaultRestApi() {
  11. return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
  12. .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
  13. .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any())
  14. .build().groupName("default").securitySchemes(securitySchemes()).securityContexts(securityContexts());
  15. }
  16.  
  17. @Bean
  18. public Docket createTestRestApi() {
  19. return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
  20. .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
  21. .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  22. .paths(PathSelectors.ant("/test/**")).build().groupName("測試/調試").securitySchemes(securitySchemes())
  23. .securityContexts(securityContexts());
  24. }
  25.  
  26. private ApiInfo apiInfo() {
  27. return new ApiInfoBuilder().title(title).description(description).termsOfServiceUrl(termsOfServiceUrl)
  28. .version(version).build();
  29. }
  30.  
  31. private List<SecurityReference> defaultAuth() {
  32. AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
  33. AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
  34. authorizationScopes[0] = authorizationScope;
  35. return newArrayList(new SecurityReference("token", authorizationScopes));
  36. }
  37.  
  38. private List<SecurityContext> securityContexts() {
  39. return newArrayList(SecurityContext.builder().securityReferences(defaultAuth())
  40. .forPaths(PathSelectors.regex("^(?!auth).*$")).build());
  41. }
  42.  
  43. private List<ApiKey> securitySchemes() {
  44. return newArrayList(new ApiKey("token", "token", "header"));
  45. }
  46. }

3.集成RESTful風格接口示例

  1. @Api(tags = "測試")
  2. @RestController
  3. public class TestController {
  4.  
  5. @ApiOperation("get方法")
  6. @GetMapping("getInfo")
  7. public void getInfo(){
  8.  
  9. }
  10. }

4.控制臺打印路徑地址(可選配置

  1. @Slf4j
  2. @SpringBootApplication
  3. public class SpringbootApplication implements ApplicationRunner {
  4.  
  5. public static void main(String[] args) {
  6. SpringApplication.run(SpringbootApplication.class, args);
  7. }
  8.  
  9. @Autowired
  10. Environment environment;
  11.  
  12. @Override
  13. public void run(ApplicationArguments args) throws Exception {
  14. log.info("項目已啟動,端口:" + environment.getProperty("local.server.port"));
  15. log.info("swagger文檔地址:http://localhost:" + environment.getProperty("local.server.port") + "/swagger-ui.html");
  16. log.info("swagger文檔地址:http://localhost:" + environment.getProperty("local.server.port") + "/doc.html");
  17. }
  18. }

三:配置運用swagger

1. http://ip:port/swagger-ui.html

Java集成swagger文檔組件

2. http://ip:port/doc.html

Java集成swagger文檔組件

到此這篇關于Java集成swagger文檔組件的文章就介紹到這了,更多相關Java集成swagger內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/guxiaohai_/article/details/117928391

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7472021-02-04
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
主站蜘蛛池模板: 久久影片 | 国产资源视频在线观看 | 国产精品999在线 | 国产精品热 | 黄色午夜剧场 | 精品国产91久久久久久久 | 在线播放黄色片 | 黄在线观看在线播放720p | 欧美成人精品一级 | 久久爽久久爽久久av东京爽 | 日本免费a∨ | 暖暖免费观看高清完整版电影 | 国产免费人做人爱午夜视频 | 国产91久久精品一区二区 | 久久91亚洲人成电影网站 | 视频一区二区三区在线播放 | 日韩精品羞羞答答 | 日本精品久久久一区二区三区 | www国产成人免费观看视频,深夜成人网 | 色七七久久影院 | 欧美黄一级 | 3344永久免费 | 亚洲码无人客一区二区三区 | 久久精品亚洲成在人线av网址 | 欧美a视频 | 一本大道av| 一级毛片在线免费播放 | 日本黄色a视频 | 国产精品探花在线观看 | 国产一区在线免费 | 蜜桃一本色道久久综合亚洲精品冫 | 一区二区三级视频 | 久久精品视频免费观看 | 中国杭州少妇xxxx做受 | 色阁五月 | 黄污免费网站 | 牛牛碰在线 | 国产噜噜噜噜噜久久久久久久久 | 色啪综合 | 亚洲九色| 黄色影院av|