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

SpringBoot整合Swagger的方法示例

 更新時(shí)間:2018年10月22日 13:56:07   作者:Chenjiabing  
這篇文章主要介紹了SpringBoot整合Swagger的方法示例,詳細(xì)介紹了SpringBoot如何整合Swagger以及swagger注解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

依賴

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

配置類

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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

/**
 * Swagger的配置類
 * @author 陳加兵
 *
 */
@Configuration
public class SwaggerConfig{
 /**
 * 創(chuàng)建用戶API文檔
 * @return
 */
 @Bean
 public Docket createRestUserApi(){
 return new Docket(DocumentationType.SWAGGER_2)
 .groupName("user") 
 .apiInfo(apiInfo()) //api的信息
 .select()
 .apis(RequestHandlerSelectors
  .basePackage("cn.tedu.mycat.controller")) //添加包掃描
 .paths(PathSelectors.any()).build();

 }

 /**
 * 創(chuàng)建API信息
 */
 private ApiInfo apiInfo(){
 return new ApiInfoBuilder()
 .title("api文檔的標(biāo)題") //標(biāo)題
 .description("api文檔的描述") //描述
 .contact( //添加開(kāi)發(fā)者的一些信息
  new Contact("愛(ài)撒謊的男孩", "https://chenjiabing666.github.io",
  "18796327106@163.com")).version("1.0").build();
 }

}

啟動(dòng)類

在springBoot的啟動(dòng)類上添加一個(gè)注解即可配置成功: @EnableSwagger2

訪問(wèn)api的路徑
http://ip/projectName/swagger-ui.html

注解說(shuō)明

@Api

  • 標(biāo)注在類上,用來(lái)對(duì)這個(gè)類進(jìn)行說(shuō)明的
  • 如果想要生成文檔,必須在類或者接口上標(biāo)注
  • 屬性如下:

屬性名稱 備注 默認(rèn)值
value url的路徑值
tags 如果設(shè)置這個(gè)值、value的值會(huì)被覆蓋
description 對(duì)api資源的描述
basePath 基本路徑可以不配置
position 如果配置多個(gè)Api 想改變顯示的順序位置
produces For example, “application/json, application/xml”
consumes For example, “application/json, application/xml”
protocols Possible values: http, https, ws, wss.
authorizations 高級(jí)特性認(rèn)證時(shí)配置
hidden 配置為true 將在文檔中隱藏

@ApiOperation

  • 用在API方法上,對(duì)該API做注釋,說(shuō)明API的作用
  • 不需要多講,看源碼,使用默認(rèn)的value屬性即可,說(shuō)明該方法的作用
  • 屬性如下:

value url的路徑值
tags 如果設(shè)置這個(gè)值、value的值會(huì)被覆蓋
notes 對(duì)api資源的描述
response 返回的對(duì)象,在文檔中點(diǎn)擊Model可以獲取該配置的內(nèi)容
responseContainer 這些對(duì)象是有效的 “List”, “Set” or “Map”.,其他無(wú)效
responseReference 可以不配置
httpMethod 可以接受 “GET”, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH”
position 如果配置多個(gè)Api 想改變顯示的順序位置
produces 同 Api中的定義
consumes 同 Api中的定義
protocols 同 Api中的定義
authorizations 同 Api中的定義
hidden 是否隱藏,true 或者false ,這個(gè)可以隱藏后臺(tái)接口
code http的狀態(tài)碼 默認(rèn) 200
extensions 擴(kuò)展屬性

@ApiImplicitParams

  • 用來(lái)包含API的一組參數(shù)注解,可以簡(jiǎn)單的理解為參數(shù)注解的集合聲明
  • 很重要,這個(gè)注解其中包含接口入?yún)⒌脑敿?xì)說(shuō)明
  • 內(nèi)容是集合

@ApiImplicitParam

用在 @ApiImplicitParams 注解中,也可以單獨(dú)使用,說(shuō)明一個(gè)請(qǐng)求參數(shù)的各個(gè)方面

詳細(xì)的屬性使用說(shuō)明如下:

  • name :屬性的字段名稱,相當(dāng)于form表單中的name,這個(gè)就是入?yún)⒌淖侄?/li>
  • dataType :參數(shù)的類型,標(biāo)識(shí),字符串
  • value :該參數(shù)的描述
  • required :是否必填,布爾值
  • defaultValue :缺省值,會(huì)在文檔中缺省填入,這樣更方面造數(shù)據(jù),不需要調(diào)用接口的去填值了
  • paramType :指定參數(shù)的入?yún)?shù)方式(也就是請(qǐng)求參數(shù)的位置),其中有四種常用的,如下:
    • query
    • path
    • body
    • form

paramType屬性的詳細(xì)說(shuō)明

  • query :必須要和入?yún)⒌淖侄我粯樱部梢允褂?@RequestParam() 指定
  • path :用于Restful的風(fēng)格的url,請(qǐng)求的參數(shù)寫在路徑上,如下:
@ApiOperation(value="根據(jù)用戶Id獲取用戶信息",response=User.class,hidden=false)
 @ApiImplicitParams({
 @ApiImplicitParam(paramType = "path", name = "id", dataType="Integer", required = false, value = "用戶的id", defaultValue = "1")
 })
 @GetMapping("/user/get/{id}")
 public Object getUser(@PathVariable("id")Integer id){
 return new User(id, "陳加兵");
 }
  • body:以流的形式提交 僅支持POST
    form:以表單的形式提交

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

相關(guān)文章

  • Java 基礎(chǔ)之事務(wù)詳細(xì)介紹

    Java 基礎(chǔ)之事務(wù)詳細(xì)介紹

    這篇文章主要介紹了Java 基礎(chǔ)之事務(wù)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • springboot對(duì)接支付寶支付接口(詳細(xì)開(kāi)發(fā)步驟總結(jié))

    springboot對(duì)接支付寶支付接口(詳細(xì)開(kāi)發(fā)步驟總結(jié))

    這篇文章主要介紹了springboot對(duì)接支付寶支付接口(詳細(xì)開(kāi)發(fā)步驟總結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 如何簡(jiǎn)單的理解依賴注入詳解

    如何簡(jiǎn)單的理解依賴注入詳解

    一直對(duì)依賴注入理解不清楚,最近突然理解了,所以下面這篇文章主要給大家介紹了關(guān)于如何簡(jiǎn)單的理解依賴注入的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • springboot如何獲取登錄用戶的個(gè)人信息

    springboot如何獲取登錄用戶的個(gè)人信息

    在Spring Boot中,獲取登錄用戶的個(gè)人信息通常需要使用Spring Security框架來(lái)進(jìn)行身份認(rèn)證和授權(quán),這篇文章主要介紹了springboot獲取登錄用戶的個(gè)人信息,需要的朋友可以參考下
    2023-05-05
  • oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁(yè)查詢的實(shí)例

    oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁(yè)查詢的實(shí)例

    本文主要介紹了oracle+mybatis-plus+springboot實(shí)現(xiàn)分頁(yè)查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • RocketMQ producer同步發(fā)送單向發(fā)送源碼解析

    RocketMQ producer同步發(fā)送單向發(fā)送源碼解析

    這篇文章主要為大家介紹了RocketMQ producer同步發(fā)送單向發(fā)送源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 基于ElasticSearch Analyzer的使用規(guī)則詳解

    基于ElasticSearch Analyzer的使用規(guī)則詳解

    這篇文章主要介紹了基于ElasticSearch Analyzer的使用規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Apache DolphinScheduler完全設(shè)置東八區(qū)時(shí)區(qū)

    Apache DolphinScheduler完全設(shè)置東八區(qū)時(shí)區(qū)

    這篇文章主要為大家介紹了Apache DolphinScheduler完全設(shè)置東八區(qū)配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    Spring?Boot?集成?Swagger2構(gòu)建?API文檔

    這篇文章主要介紹了Spring?Boot?集成?Swagger2構(gòu)建?API文檔,通過(guò)使用?Swagger,我們只需要按照它所給定的一系列規(guī)范去定義接口以及接口的相關(guān)信息,然后它就能幫我們自動(dòng)生成各種格式的接口文檔,方便前后端開(kāi)發(fā)者進(jìn)行前后端聯(lián)調(diào),下文需要的朋友可以參考一下
    2022-03-03
  • Spring的Bean注入解析結(jié)果BeanDefinition詳解

    Spring的Bean注入解析結(jié)果BeanDefinition詳解

    這篇文章主要介紹了Spring的Bean注入解析結(jié)果BeanDefinition詳解,BeanDefinition描述了一個(gè)bean實(shí)例,擁有屬性值、構(gòu)造參數(shù)值和具體實(shí)現(xiàn)的其他信息,其是一個(gè)bean的元數(shù)據(jù),xml中配置的bean元素會(huì)被解析成BeanDefinition對(duì)象,需要的朋友可以參考下
    2023-12-12

最新評(píng)論