欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何集成swagger2構建Restful API

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

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

在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è)務測試")
        .version("1.0")
        .description("API 描述")
        .build();
  }
}

為控制層添加相應注解

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="測試是否成功使用服務發(fā)現(xiàn)")
  @RequestMapping(value="/test",method=RequestMethod.GET)
  public String test() {
    return userService.test();
  }
}

按順序啟動

taosir-eureka注冊中心

taosir-dreamHouse服務提供者

taoisr-api服務消費者

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

以上,集成swagger2構建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ù)類型,默認String,其它值dataType="Integer"    
    defaultValue:參數(shù)的默認值
 
@ApiResponses:用在請求的方法上,表示一組響應
  @ApiResponse:用在@ApiResponses中,一般用于表達一個錯誤的響應信息
    code:數(shù)字,例如400
    message:信息,例如"請求參數(shù)沒填好"
    response:拋出異常的類
 
@ApiModel:用于響應類上,表示一個返回響應數(shù)據(jù)的信息
      (這種一般用在post創(chuàng)建的時候,使用@RequestBody這樣的場景,
      請求參數(shù)無法使用@ApiImplicitParam注解進行描述的時候)
@ApiModelProperty:用在屬性上,描述響應類的屬性

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

相關文章

  • Java對象轉JSON時動態(tài)的增刪改查屬性詳解

    Java對象轉JSON時動態(tài)的增刪改查屬性詳解

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

    Java ShardingJDBC實戰(zhàn)演練

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

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

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

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

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

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

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

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

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

    一個Servlet是如何處理多個請求的?

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

    Spring之異步任務@Async解讀

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

    深入學習JAVA GC日志的相關知識

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

    springboot集成websocket的四種方式小結

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

最新評論