最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs

 更新時(shí)間:2018年01月25日 11:13:34   作者:牛奮lch  
這篇文章主要介紹了詳解spring cloud整合Swagger2構(gòu)建RESTful服務(wù)的APIs,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

前言

在前面的博客中,我們將服務(wù)注冊到了Eureka上,可以從Eureka的UI界面中,看到有哪些服務(wù)已經(jīng)注冊到了Eureka Server上,但是,如果我們想查看當(dāng)前服務(wù)提供了哪些RESTful接口方法的話,就無從獲取了,傳統(tǒng)的方法是梳理一篇服務(wù)的接口文檔來供開發(fā)人員之間來進(jìn)行交流,這種情況下,很多時(shí)候,會(huì)造成文檔和代碼的不一致性,比如說代碼改了,但是接口文檔沒有改等問題,而Swagger2則給我們提供了一套完美的解決方案,下面,我們來看看Swagger2是如何來解決問題的。

一、引入Swagger2依賴的jar包

<!-- swagger2 --> 
    <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger2</artifactId> 
      <version>2.2.2</version> 
    </dependency> 
    <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger-ui</artifactId> 
      <version>2.2.2</version> 
    </dependency> 

二、初始化Swagger2的配置

@Configuration 
@EnableSwagger2 // 啟用Swagger2 
public class Swagger2 { 
 
  @Bean 
  public Docket createRestApi() {// 創(chuàng)建API基本信息 
    return new Docket(DocumentationType.SWAGGER_2) 
        .apiInfo(apiInfo()) 
        .select() 
        .apis(RequestHandlerSelectors.basePackage("com.chhliu.jpa"))// 掃描該包下的所有需要在Swagger中展示的API,@ApiIgnore注解標(biāo)注的除外 
        .paths(PathSelectors.any()) 
        .build(); 
  } 
 
  private ApiInfo apiInfo() {// 創(chuàng)建API的基本信息,這些信息會(huì)在Swagger UI中進(jìn)行顯示 
    return new ApiInfoBuilder() 
        .title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs")// API 標(biāo)題 
        .description("rdcloud-jpa提供的RESTful APIs")// API描述 
        .contact("chhliu@")// 聯(lián)系人 
        .version("1.0")// 版本號 
        .build(); 
  } 
 
} 

注:該配置類需要在Application同級目錄下創(chuàng)建,在項(xiàng)目啟動(dòng)的時(shí)候,就初始化該配置類

三、完善API文檔信息

public interface SonarControllerI { 
  @ApiOperation(value="獲取項(xiàng)目組Sonar對應(yīng)的Url信息", notes="根據(jù)id獲取項(xiàng)目組Sonar對應(yīng)的Url信息")// 使用該注解描述接口方法信息 
  @ApiImplicitParams({ 
      @ApiImplicitParam(name = "id", value = "SonarUrl表ID", required = true, dataType = "Long", paramType="path") 
  })// 使用該注解描述方法參數(shù)信息,此處需要注意的是paramType參數(shù),需要配置成path,否則在UI中訪問接口方法時(shí),會(huì)報(bào)錯(cuò) 
  @GetMapping("/get/{id}") 
  SonarUrl get(@PathVariable Long id); 
   
  @ApiOperation(value="獲取項(xiàng)目組Sonar對應(yīng)的所有Url信息") 
  @GetMapping("/get/all") 
  List<SonarUrl> getAll(); 
} 

注:paramType表示參數(shù)的類型,可選的值為"path","body","query","header","form"

四、完善返回類型信息

@Entity(name = "SONAR_URL") 
public class SonarUrl implements Serializable { 
 
  /** 
   * 
   */ 
  private static final long serialVersionUID = 1L; 
  @ApiModelProperty(value="主鍵", hidden=false, notes="主鍵,隱藏", required=true, dataType="Long")// 使用該注解描述屬性信息,當(dāng)hidden=true時(shí),該屬性不會(huì)在api中顯示 
  @Id 
  @GeneratedValue(strategy = GenerationType.AUTO) 
  private Long id; 
   
  @ApiModelProperty(value="URL鏈接地址") 
  @Column(name="URL") 
  private String url; 
   
  @ApiModelProperty(value="項(xiàng)目組") 
  @Column(name="TEAM") 
  private String team; 
 
  @ApiModelProperty(value="部門") 
  @Column(name="DEPARTMENT") 
  private String department; 
    ……省略getter,setter方法…… 
 } 

五、啟動(dòng)應(yīng)用

1、在瀏覽器中輸入:http://localhost:7622/swagger-ui.html

2、結(jié)果如下:

六、API文檔訪問與測試

Swagger除了提供API接口查看的功能外,還提供了調(diào)試測試功能


測試結(jié)果如下:


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用多線程批次查詢大量數(shù)據(jù)(Callable返回?cái)?shù)據(jù))方式

    Java使用多線程批次查詢大量數(shù)據(jù)(Callable返回?cái)?shù)據(jù))方式

    今天給大家分享Java使用多線程批次查詢大量數(shù)據(jù)(Callable返回?cái)?shù)據(jù))方式,多線程有好幾種方式,今天說的方式比較好,實(shí)現(xiàn)Callable<> 這種方式能返回查詢的數(shù)據(jù),加上Future異步獲取方式,查詢效率大大加快,感興趣的朋友一起看看吧
    2023-11-11
  • 如何為Spark Application指定不同的JDK版本詳解

    如何為Spark Application指定不同的JDK版本詳解

    這篇文章主要給大家介紹了關(guān)于如何為Spark Application指定不同的JDK版本的相關(guān)資料,文中通過示例代碼將解決的方法介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來隨著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • Spring Cloud 網(wǎng)關(guān)服務(wù) zuul  動(dòng)態(tài)路由的實(shí)現(xiàn)方法

    Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 動(dòng)態(tài)路由的實(shí)現(xiàn)方法

    網(wǎng)關(guān)服務(wù)是流量的唯一入口。不能隨便停服務(wù)。所以動(dòng)態(tài)路由就顯得尤為必要。這篇文章主要介紹了Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 三 動(dòng)態(tài)路由的相關(guān)知識(shí),需要的朋友可以參考下
    2019-10-10
  • 深入理解mybatis的ParamNameResolver

    深入理解mybatis的ParamNameResolver

    ParamNameResolver是 MyBatis 中的一個(gè)重要組件,它為 MyBatis 提供了一種方便的方式來獲取方法參數(shù)的名稱,本文主要介紹了深入理解mybatis的ParamNameResolver,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • RestTemplate如何使用JSON發(fā)送Post請求

    RestTemplate如何使用JSON發(fā)送Post請求

    這篇文章主要介紹了RestTemplate如何使用JSON發(fā)送Post請求問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java多線程的臨界資源問題解決方案

    Java多線程的臨界資源問題解決方案

    這篇文章主要介紹了Java多線程的臨界資源問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別

    Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別

    這篇文章主要為大家詳細(xì)介紹了Windows下Java調(diào)用OCR進(jìn)行圖片識(shí)別,通過Tesseract-OCR對圖片進(jìn)行識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 作為程序員必須掌握的Java虛擬機(jī)中的22個(gè)重難點(diǎn)(推薦0

    作為程序員必須掌握的Java虛擬機(jī)中的22個(gè)重難點(diǎn)(推薦0

    這篇文章主要介紹了Java虛擬機(jī)中22個(gè)重難點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Spring純Java配置集成kafka代碼實(shí)例

    Spring純Java配置集成kafka代碼實(shí)例

    這篇文章主要介紹了Spring純Java配置集成kafka代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java 內(nèi)省(Introspector)深入理解

    Java 內(nèi)省(Introspector)深入理解

    這篇文章主要介紹了Java 內(nèi)省(Introspector)深入理解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03

最新評論

望城县| 滕州市| 太康县| 灵川县| 西贡区| 伊吾县| 庄浪县| 喀喇| 隆尧县| 赞皇县| 扶风县| 吉木萨尔县| 鹤山市| 睢宁县| 合水县| 永安市| 云霄县| 饶阳县| 民县| 青铜峡市| 三江| 汕头市| 新沂市| 临颍县| 疏勒县| 通化市| 来凤县| 惠水县| 灵丘县| 九寨沟县| 会理县| 庄浪县| 佛教| 东港市| 山阴县| 铁岭市| 安远县| 庆云县| 佛山市| 泰安市| 大足县|