亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

在pom.xml中進(jìn)行版本管理

<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()
        //控制暴露出去的路徑下的實(shí)例
        //如果某個(gè)接口不想暴露,可以使用以下注解
        //@ApiIgnore 這樣,該接口就不會(huì)暴露在 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();
  }
}

按順序啟動(dòng)

taosir-eureka注冊中心

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

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

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

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

下面附上注解參考表

@Api:用在請求的類上,表示對類的說明
  tags="說明該類的作用,可以在UI界面上看到的注解"
  value="該參數(shù)沒什么意義,在UI界面上也看到,所以不需要配置"
 
@ApiOperation:用在請求的方法上,說明方法的用途、作用
  value="說明方法的用途、作用"
  notes="方法的備注說明"
 
@ApiImplicitParams:用在請求的方法上,表示一組參數(shù)說明
  @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一個(gè)請求參數(shù)的各個(gè)方面
    name:參數(shù)名
    value:參數(shù)的漢字說明、解釋
    required:參數(shù)是否必須傳
    paramType:參數(shù)放在哪個(gè)地方
      · 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中,一般用于表達(dá)一個(gè)錯(cuò)誤的響應(yīng)信息
    code:數(shù)字,例如400
    message:信息,例如"請求參數(shù)沒填好"
    response:拋出異常的類
 
@ApiModel:用于響應(yīng)類上,表示一個(gè)返回響應(yīng)數(shù)據(jù)的信息
      (這種一般用在post創(chuàng)建的時(shí)候,使用@RequestBody這樣的場景,
      請求參數(shù)無法使用@ApiImplicitParam注解進(jìn)行描述的時(shí)候)
@ApiModelProperty:用在屬性上,描述響應(yīng)類的屬性

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

相關(guān)文章

  • Java對象轉(zhuǎn)JSON時(shí)動(dòng)態(tài)的增刪改查屬性詳解

    Java對象轉(zhuǎn)JSON時(shí)動(dòng)態(tài)的增刪改查屬性詳解

    這篇文章主要介紹了Java對象轉(zhuǎn)JSON時(shí)如何動(dòng)態(tài)的增刪改查屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java ShardingJDBC實(shí)戰(zhàn)演練

    Java ShardingJDBC實(shí)戰(zhàn)演練

    Sharding-JDBC 采用在 JDBC 協(xié)議層擴(kuò)展分庫分表,是一個(gè)以 jar 形式提供服務(wù)的輕量級組件,其核心思路是小而美地完成最核心的事情
    2021-11-11
  • Maven在Java8下如何忽略Javadoc的編譯錯(cuò)誤詳解

    Maven在Java8下如何忽略Javadoc的編譯錯(cuò)誤詳解

    這篇文章主要給大家介紹了關(guān)于Maven在Java8下如何忽略Javadoc的編譯錯(cuò)誤的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • SpringBoot整合Drools規(guī)則引擎動(dòng)態(tài)生成業(yè)務(wù)規(guī)則的實(shí)現(xiàn)

    SpringBoot整合Drools規(guī)則引擎動(dòng)態(tài)生成業(yè)務(wù)規(guī)則的實(shí)現(xiàn)

    本文主要介紹了SpringBoot整合Drools規(guī)則引擎動(dòng)態(tài)生成業(yè)務(wù)規(guī)則的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解

    mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解

    這篇文章主要介紹了mybatis寫xml時(shí)數(shù)字類型千萬別用 !=‘‘(不為空串)進(jìn)行判斷的示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringBoot中發(fā)送QQ郵件功能的實(shí)現(xiàn)代碼

    SpringBoot中發(fā)送QQ郵件功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了SpringBoot中發(fā)送QQ郵件功能的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 一個(gè)Servlet是如何處理多個(gè)請求的?

    一個(gè)Servlet是如何處理多個(gè)請求的?

    以前我一直以為一個(gè)Servlet只能處理一個(gè)請求,后來發(fā)現(xiàn)是自己太菜了,可以借助攜帶一個(gè)參數(shù)來完成多個(gè)請求的處理,根據(jù)參數(shù)的不同,在核心的service方法中調(diào)用不同的業(yè)務(wù)方法,來實(shí)現(xiàn)處理多個(gè)servlet請求的目的,廢話不多說,直接上代碼,需要的朋友可以參考下
    2021-06-06
  • Spring之異步任務(wù)@Async解讀

    Spring之異步任務(wù)@Async解讀

    這篇文章主要介紹了Spring之異步任務(wù)@Async,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 深入學(xué)習(xí)JAVA GC日志的相關(guān)知識

    深入學(xué)習(xí)JAVA GC日志的相關(guān)知識

    JVM 在Java應(yīng)用程序優(yōu)化中是不可缺少的一大重項(xiàng),如何合理配置Java參數(shù),如何驗(yàn)證配置參數(shù)的有效性,從GC日志中可以獲得很重要的提示。下面小編就帶大家來一起學(xué)習(xí)一下吧
    2019-06-06
  • springboot集成websocket的四種方式小結(jié)

    springboot集成websocket的四種方式小結(jié)

    本文主要介紹了springboot集成websocket的四種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12

最新評論