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

如何集成swagger2構(gòu)建Restful API

 更新時間:2019年11月12日 09:48:45   作者:濤先森の日常  
這篇文章主要介紹了如何集成swagger2構(gòu)建Restful API,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

這篇文章主要介紹了如何集成swagger2構(gòu)建Restful API,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

在pom.xml中進行版本管理

<swagger.version>2.8.0</swagger.version>

給taosir-api的pom.xml中添加依賴配置

<!-- swagger start -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>${swagger.version}</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>${swagger.version}</version>
</dependency>

添加配置類

package cn.taosir.api.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfiguration {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        //控制暴露出去的路徑下的實例
        //如果某個接口不想暴露,可以使用以下注解
        //@ApiIgnore 這樣,該接口就不會暴露在 swagger2 的頁面下
        .apis(RequestHandlerSelectors.basePackage("cn.taosir.api.controller"))
        .paths(PathSelectors.any())
        .build();
  }
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("濤先森系統(tǒng)入口業(yè)務(wù)測試")
        .version("1.0")
        .description("API 描述")
        .build();
  }
}

為控制層添加相應(yīng)注解

package cn.taosir.api.controller.dreamhouse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import cn.taosir.service.dreamHouse.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@RestController
@Api(value = "用戶管理" ,tags = {"用戶的接口"})
public class UserController {
  @Autowired
  private UserService userService;
  
  @ApiOperation(value="測試方法", notes="測試是否成功使用服務(wù)發(fā)現(xiàn)")
  @RequestMapping(value="/test",method=RequestMethod.GET)
  public String test() {
    return userService.test();
  }
}

按順序啟動

taosir-eureka注冊中心

taosir-dreamHouse服務(wù)提供者

taoisr-api服務(wù)消費者

訪問地址 http://localhost:8765/swagger-ui.html#

以上,集成swagger2構(gòu)建Restful API

下面附上注解參考表

@Api:用在請求的類上,表示對類的說明
  tags="說明該類的作用,可以在UI界面上看到的注解"
  value="該參數(shù)沒什么意義,在UI界面上也看到,所以不需要配置"
 
@ApiOperation:用在請求的方法上,說明方法的用途、作用
  value="說明方法的用途、作用"
  notes="方法的備注說明"
 
@ApiImplicitParams:用在請求的方法上,表示一組參數(shù)說明
  @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一個請求參數(shù)的各個方面
    name:參數(shù)名
    value:參數(shù)的漢字說明、解釋
    required:參數(shù)是否必須傳
    paramType:參數(shù)放在哪個地方
      · header --> 請求參數(shù)的獲?。篅RequestHeader
      · query --> 請求參數(shù)的獲取:@RequestParam
      · path(用于restful接口)--> 請求參數(shù)的獲?。篅PathVariable
      · body(不常用)
      · form(不常用)  
    dataType:參數(shù)類型,默認(rèn)String,其它值dataType="Integer"    
    defaultValue:參數(shù)的默認(rèn)值
 
@ApiResponses:用在請求的方法上,表示一組響應(yīng)
  @ApiResponse:用在@ApiResponses中,一般用于表達一個錯誤的響應(yīng)信息
    code:數(shù)字,例如400
    message:信息,例如"請求參數(shù)沒填好"
    response:拋出異常的類
 
@ApiModel:用于響應(yīng)類上,表示一個返回響應(yīng)數(shù)據(jù)的信息
      (這種一般用在post創(chuàng)建的時候,使用@RequestBody這樣的場景,
      請求參數(shù)無法使用@ApiImplicitParam注解進行描述的時候)
@ApiModelProperty:用在屬性上,描述響應(yīng)類的屬性

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

相關(guān)文章

  • Java中BitMap(位圖)hutool版、IntMap、LongMap示例詳解

    Java中BitMap(位圖)hutool版、IntMap、LongMap示例詳解

    這篇文章主要給大家介紹了關(guān)于Java中BitMap(位圖)hutool版、IntMap、LongMap的相關(guān)資料,通過位運算高效存儲和檢索整數(shù),相比于傳統(tǒng)數(shù)組,它們在內(nèi)存占用和性能上都有顯著優(yōu)勢,需要的朋友可以參考下
    2024-12-12
  • RocketMQ的消費者類型與最佳實踐詳解

    RocketMQ的消費者類型與最佳實踐詳解

    這篇文章主要介紹了RocketMQ的消費者類型與最佳實踐詳解,在?RocketMQ?5.0?中,更加強調(diào)了客戶端類型的概念,尤其是消費者類型,為了滿足多樣的?RocketMQ?中一共有三種不同的消費者類型,分別是?PushConsumer、SimpleConsumer?和?PullConsumer,需要的朋友可以參考下
    2023-10-10
  • java猜數(shù)字小游戲案例

    java猜數(shù)字小游戲案例

    這篇文章主要為大家詳細介紹了java猜數(shù)字小游戲案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JVM中的flag設(shè)置詳解

    JVM中的flag設(shè)置詳解

    這篇文章主要介紹了JVM中的flag設(shè)置詳解,涉及堆大小設(shè)置,收集器設(shè)置等香公館內(nèi)容,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 全面理解java中的構(gòu)造方法以及this關(guān)鍵字的用法

    全面理解java中的構(gòu)造方法以及this關(guān)鍵字的用法

    本篇文章主要概述了如何用構(gòu)造方法初始化對象,this屬性名訪問成員變量方法,和this()的用法,感興趣的小伙伴一起來學(xué)習(xí)吧
    2023-03-03
  • SpringSecurity 默認(rèn)表單登錄頁展示流程源碼

    SpringSecurity 默認(rèn)表單登錄頁展示流程源碼

    本篇主要講解 SpringSecurity提供的默認(rèn)表單登錄頁 它是如何展示流程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-01-01
  • SpringCloud的那些中間件問題

    SpringCloud的那些中間件問題

    這篇文章主要介紹了SpringCloud的那些中間件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 關(guān)于Java中阻塞隊列BlockingQueue的詳解

    關(guān)于Java中阻塞隊列BlockingQueue的詳解

    這篇文章主要介紹了關(guān)于Java中阻塞隊列BlockingQueue的詳解,BlockingQueue是為了解決多線程中數(shù)據(jù)高效安全傳輸而提出的,從阻塞這個詞可以看出,在某些情況下對阻塞隊列的訪問可能會造成阻塞,需要的朋友可以參考下
    2023-05-05
  • JAVA調(diào)用JavaScript方法代碼示例

    JAVA調(diào)用JavaScript方法代碼示例

    之前在一次機緣巧合的情況下,需要時用JAVA執(zhí)行js方法,查閱了一些文檔,找到了相關(guān)解決方法,這里和大家分享一下,這篇文章主要給大家介紹了關(guān)于JAVA調(diào)用JavaScript方法的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • 二代身份證驗證示例

    二代身份證驗證示例

    這篇文章主要介紹了二代身份證驗證示例,需要的朋友可以參考下
    2014-02-02

最新評論

紫云| 米脂县| 巴楚县| 喀喇| 阿坝县| 海南省| 平山县| 淮北市| 佛教| 土默特左旗| 灵山县| 天津市| 平遥县| 台北市| 浪卡子县| 仁怀市| 恩平市| 克东县| 永嘉县| 濮阳县| 洪洞县| 滕州市| 神木县| 蒲城县| 和平县| 巴林右旗| 文化| 孟州市| 阳信县| 湟中县| 凤城市| 镇坪县| 积石山| 敖汉旗| 古蔺县| 集贤县| 游戏| 邛崃市| 靖宇县| 临洮县| 嘉祥县|