国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - Java教程 - Java SpringBoot詳解集成以及配置Swagger流程

Java SpringBoot詳解集成以及配置Swagger流程

2022-03-02 00:45龍弟-idea Java教程

Swagger 是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。總體目標是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來始終保持同

一、swagge簡介

前后端分離:

后端U后端控制層,服務(wù)層,數(shù)據(jù)訪問層【后端團隊】

前端:前端控制層,視圖層【前端團隊】

前后端通過API進行交互

前后端相對獨立且松耦合

產(chǎn)生問題:前后端集成,前端或者后端無法做到“及時協(xié)商,盡早解決”,最終導(dǎo)致問題集中爆發(fā)

解決方法:首先定義schema [ 計劃的提綱 ],并實時跟蹤最新的API,降低集成風(fēng)險

前后端分離: 前端測試后端接口:postman
后端提供接口,需要實時更新最新的消息及改動!

Swagger

  • 號稱世界上最流行的API框架
  • Restful Api 文檔在線自動生成器 => API 文檔 與API 定義同步更新
  • 直接運行,在線測試API
  • 支持多種語言 (如:Java,PHP等)
  • 官網(wǎng):API Documentation & Design Tools for Teams | Swagger

Java SpringBoot詳解集成以及配置Swagger流程

 

二、SpringBoot集成Swagger

1、新建一個SpringBoot-web項目

2、添加Maven依賴

<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger2</artifactId>
 <version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
 <groupId>io.springfox</groupId>
 <artifactId>springfox-swagger-ui</artifactId>
 <version>2.9.2</version>
</dependency>

3、編寫HelloController,測試確保運行成功!

Java SpringBoot詳解集成以及配置Swagger流程

4、要使用Swagger,我們需要編寫一個配置類-SwaggerConfig來配置 Swagger

@Configuration
@EnableSwagger2        //開啟Swagger2
public class SwaggerConfig {
  
}

5.訪問測試 :http://localhost:8081/swagger-ui.html,可以看到swagger的界面;

Java SpringBoot詳解集成以及配置Swagger流程

 

三、配置Swagger

1、Swagger實例Bean是Docket,所以通過配置Docket實例來配置Swaggger。

//配置了Swagger的Docket的bean實例
  @Bean
  public Docket docket(){
      return new Docket(DocumentationType.SWAGGER_2);

  }

2、可以通過apiInfo()屬性配置文檔信息

  //配置文檔信息
  private ApiInfo apiInfo() {
      Contact contact = new Contact("弟", "https://blog.csdn.net/weixin_48838340", "聯(lián)系人郵箱");
      return new ApiInfo(
              "弟的Swagger學(xué)習(xí)文檔", // 標題
              "學(xué)習(xí)演示如何配置Swagger", // 描述
              "v1.0", // 版本
              "https://blog.csdn.net/weixin_48838340", // 組織鏈接
              contact, // 聯(lián)系人信息
              "Apach 2.0 許可", // 許可
              "許可鏈接", // 許可連接
              new ArrayList<>()// 擴展
      );
  }
}

3、Docket 實例關(guān)聯(lián)上 apiInfo()

  @Bean
  public Docket docket(){
      return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
  }

4.重啟項目

Java SpringBoot詳解集成以及配置Swagger流程

 

四、配置掃描接口

構(gòu)建Docket時通過select()方法配置怎么掃描接口。

  //配置了Swagger的Docket的bean實例
  @Bean
  public Docket docket(){
      return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(apiInfo())
              .select()// 通過.select()方法,去配置掃描接口,RequestHandlerSelectors配置如何掃描接口
                //any() // 掃描所有,項目中的所有接口都會被掃描到
               // none() // 不掃描接口
      // withMethodAnnotation通過方法上的注解掃描,如withMethodAnnotation(GetMapping.class)只掃描get請求
      // 通過類上的注解掃描,如.withClassAnnotation(Controller.class)只掃描有controller注解的類中的接口
              .apis(RequestHandlerSelectors.basePackage("com.longdi.swagger.controller"))
              //path()  過濾什么路徑
              .paths(PathSelectors.ant("/longdi/**"))
              .build();
  };

 

五、配置Swagger開關(guān)

1、通過enable()方法配置是否啟用swagger

  @Bean
  public Docket docket() {
      return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(apiInfo())
              .enable(false) //配置是否啟用Swagger,如果是false,在瀏覽器將無法訪問
              .select()// 通過.select()方法,去配置掃描接口,RequestHandlerSelectors配置如何掃描接口
              .apis(RequestHandlerSelectors.basePackage("com.longdi.swagger.controller"))
              // 配置如何通過path過濾,即這里只掃描請求以/longdi開頭的接口
              .paths(PathSelectors.ant("/longdi/**"))
              .build();
  }

2.如何動態(tài)配置當項目處于test、dev環(huán)境時顯示swagger

  @Bean
  public Docket docket(Environment environment) {
      // 設(shè)置要顯示swagger的環(huán)境
      Profiles of = Profiles.of("dev", "test");
      // 判斷當前是否處于該環(huán)境
      // 通過 enable() 接收此參數(shù)判斷是否要顯示
      boolean b = environment.acceptsProfiles(of);

      return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(apiInfo())
              .enable(b) //配置是否啟用Swagger,如果是false,在瀏覽器將無法訪問
              .select()// 通過.select()方法,去配置掃描接口,RequestHandlerSelectors配置如何掃描接口
              .apis(RequestHandlerSelectors.basePackage("com.longdi.swagger.controller"))
              // 配置如何通過path過濾,即這里只掃描請求以/longdi開頭的接口
              .paths(PathSelectors.ant("/longdi/**"))
              .build();
  }

 

六、配置API分組

1.如果沒有配置分組,默認是default。通過groupName()方法即可配置分組:

  @Bean
  public Docket docket1(Environment environment) {
      return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
              .groupName("A") ;// 配置分組
      // 省略配置....
  }

2.配置多個分組只需要配置多個docket即可

Java SpringBoot詳解集成以及配置Swagger流程

3.重啟看到下面效果

Java SpringBoot詳解集成以及配置Swagger流程

 

七、實體配置

1.新建一個實體類

@ApiModel為類添加注釋

@ApiModelProperty為類屬性添加注釋

Java SpringBoot詳解集成以及配置Swagger流程

2.只要這個實體在請求接口的返回值上(即使是泛型),都能映射到實體項中:

  //只要我們的接口中,返回值中存在實體類,它就會被掃描到Swagger中
  @PostMapping(value="/user")
  public User getUser(){
      return new User();
  }

3.查看效果

Java SpringBoot詳解集成以及配置Swagger流程

4.可以給請求的接口配置一些注釋

  //Operation接口,不是放在類上的,是方法
  @ApiOperation("弟的接口")
  @GetMapping("/hello2")
  public String kuang(@ApiParam("這個名字會被返回")String username){
      return "hello"+username;
  }

Java SpringBoot詳解集成以及配置Swagger流程

 

八、總結(jié):

1.我們可以通過Swagger給一些比較難理解的屬性或者接口,增加注釋信息

2接口文檔實時更新
3.可以在線測試

Swagger是一個優(yōu)秀的工具,幾乎所有大公司都有使用它

【注意點】在正式發(fā)布的時候,需要關(guān)閉Swagger! 因為出于安全考慮,同時節(jié)省運行的內(nèi)存!

到此這篇關(guān)于Java SpringBoot詳解集成以及配置Swagger流程的文章就介紹到這了,更多相關(guān)Java SpringBoot Swagger內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_48838340/article/details/120706190

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级欧美三级在线观看 | 四虎影视在线 | av网站在线免费观看 | 日本三级电影网站 | 欧美片网站免费 | 最近的中文字幕在线看视频 | 日韩成人在线播放 | 视频一区免费观看 | a一级免费视频 | 欧美淫视频 | 日韩字幕在线 | 国产精品1区 | 亚洲精品一区二区三区 | 亚洲成人一区 | 成人精品视频免费 | bxbx成人精品一区二区三区 | 精品在线视频一区 | 2018自拍偷拍| 亚洲日本va中文字幕 | 黄色一级毛片 | 久久九九这里只有精品 | 国产精品久久久久久久浪潮网站 | 日本黄色美女视频 | 欧美日韩国产精品一区二区 | 久久夜色精品国产 | 91电影在线看 | 亚洲综合在线视频 | 国产黄色播放 | 国产精品亚洲视频 | 九九亚洲精品 | 国产麻豆一区二区三区 | 日韩成人在线视频 | 精品一区二区av | 国产模特私拍xxxx | 国产精品初高中精品久久 | 国产一区在线免费观看 | 欧美日韩中文国产一区发布 | 国产欧美综合一区二区三区 | 精品成人av | 欧美中文在线 | 激情网站免费 |