SpringBoot+Swagger_UI怎么配置

本篇內(nèi)容主要講解“Spring Boot+Swagger_UI怎么配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“Spring Boot+Swagger_UI怎么配置”吧!

在東豐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需設(shè)計網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,東豐網(wǎng)站建設(shè)費用合理。

一:pom.xml 依賴

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

二:application.yaml 開關(guān)配置

# swagger
swagger: 
  switch: true

三:SwaggerConfig.java 配置

@Configuration
@EnableSwagger2
public class SwaggerConfig {
	@Value("${swagger.switch}")
	private boolean swaggerSwitch;
	@Bean
	public Docket createRestApi() {
		Docket docket = new Docket(DocumentationType.SWAGGER_2);
		if (swaggerSwitch) {
			docket.enable(true);
		} else {
			docket.enable(false);
		}
		docket.apiInfo(apiInfo()).select()
				// 加了ApiOperation注解的類,才生成接口文檔
				.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
				// 包下的類,才生成接口文檔
				.paths(PathSelectors.any()).build().securitySchemes(security());
		return docket;
	}
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder().title("Demo").description("接口文檔").termsOfServiceUrl("").version("0.1").build();
	}
	private List<ApiKey> security() {
		return newArrayList(new ApiKey("token", "token", "header"));
	}
}

四: 接口配置代碼示例

/**
	  * @Title: list
	  * @Description: 測試
	  * @return void    返回類型
	  * @throws
	  */
	@ApiOperation(value="消息列表查詢",notes="消息列表查詢")
	@ApiImplicitParams({@ApiImplicitParam(name="userId",value="用戶ID",required=true,dataType="int")})
	@ApiResponses(value= {@ApiResponse(code = 200,message="Sucess",response=MsgPushInfoEntity.class,responseContainer="List")})
	@RequestMapping(value="/list",method=RequestMethod.POST)
	public List<MsgPushInfoEntity> list(@RequestBody MsgPushInfoEntity msg) {
		logger.info("===========" + msgPushInfoService.list().size() + "===========");
		logger.error("===========" + msgPushInfoService.list().size() + "===========");
		return  new ArrayList<MsgPushInfoEntity>();
	}

五:swagger-ui展示

Spring Boot+Swagger_UI怎么配置

六:Swagger注解說明

1.@Api

該注解將一個Controller(Class)標(biāo)注為一個swagger資源(API)。在默認(rèn)情況下,Swagger-Core只會掃描解析具有

@Api注解的類,而會自動忽略其他類別資源(JAX-RS endpoints,Servlets等等)的注解。該注解包含以下幾個重要屬性:

  tags

  API分組標(biāo)簽。具有相同標(biāo)簽的API將會被歸并在一組內(nèi)展示。

  value

  如果tags沒有定義,value將作為Api的tags使用

  description

  API的詳細(xì)描述,在1.5.X版本之后不再使用,但實際發(fā)現(xiàn)在2.0.0版本中仍然可以使用

2.@ApiOperation

在指定的(路由)路徑上,對一個操作或HTTP方法進行描述。具有相同路徑的不同操作會被歸組為同一個操作對象。

不同的HTTP請求方法及路徑組合構(gòu)成一個唯一操作。此注解的屬性有:

  value

  對操作的簡單說明,長度為120個字母,60個漢字。

  notes

  對操作的詳細(xì)說明。

  httpMethod

  HTTP請求的動作名,可選值有:"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS" and "PATCH"。

  code

  默認(rèn)為200,有效值必須符合標(biāo)準(zhǔn)的HTTP Status Code Definitions。

3.@ApiImplicitParams

  注解ApiImplicitParam的容器類,以數(shù)組方式存儲。

@ApiImplicitParam

對API的單一參數(shù)進行注解。雖然注解@ApiParam同JAX-RS參數(shù)相綁定,但這個@ApiImplicitParam注解可以以統(tǒng)一的方式

定義參數(shù)列表,也是在Servelet及非JAX-RS環(huán)境下,唯一的方式參數(shù)定義方式。注意這個注解@ApiImplicitParam必須被

包含在注解@ApiImplicitParams之內(nèi)。可以設(shè)置以下重要參數(shù)屬性:

  name

  參數(shù)名稱

  value

  參數(shù)的簡短描述

  required

  是否為必傳參數(shù)

  dataType

  參數(shù)類型,可以為類名,也可以為基本類型(String,int、boolean等)

  paramType

  參數(shù)的傳入(請求)類型,可選的值有path, query, body, header or form。

3.@ApiParam

  增加對參數(shù)的元信息說明。這個注解只能被使用在JAX-RS 1.x/2.x的綜合環(huán)境下。其主要的屬性有:

  required

  是否為必傳參數(shù)

  value

  參數(shù)簡短說明

4.@ApiResponses

注解@ApiResponse的包裝類,數(shù)組結(jié)構(gòu)。即使需要使用一個@ApiResponse注解,也需要將@ApiResponse注解包含在

注解@ApiResponses內(nèi)。

5.@ApiResponse

描述一個操作可能的返回結(jié)果。當(dāng)REST API請求發(fā)生時,這個注解可用于描述所有可能的成功與錯誤碼??梢杂?,也可以不

用這個注解去描述操作的返回類型,但成功操作的返回類型必須在@ApiOperation中定義。如果API具有不同的返回類型,那么需要分別定義返回值,并將返回類型進行關(guān)聯(lián)。但Swagger不支持同一返回碼,多種返回類型的注解。注意:這個注解必須被包含在@ApiResponses注解中。

  code

  HTTP請求返回碼。有效值必須符合標(biāo)準(zhǔn)的HTTP Status Code Definitions。

  message

  更加易于理解的文本消息

  response

  返回類型信息,必須使用完全限定類名,比如“com.xyz.cc.Person.class”。

  responseContainer

  如果返回類型為容器類型,可以設(shè)置相應(yīng)的值。有效值為 "List", "Set" or "Map",其他任何無效的值都會被忽略。

  Model的注解

  對于Model的注解,Swagger提供了兩個:@ApiModel及@ApiModelProperty,分別用以描述Model及Model內(nèi)的屬性。

6.@ApiModel

提供對Swagger model額外信息的描述。在標(biāo)注@ApiOperation注解的操作內(nèi),所有的類將自動被內(nèi)省(introspected),

但利用這個注解可以做一些更加詳細(xì)的model結(jié)構(gòu)說明。主要屬性有:

  value

  model的別名,默認(rèn)為類名

  description

  model的詳細(xì)描述

7.@ApiModelProperty

  對model屬性的注解,主要的屬性值有:

  value

  屬性簡短描述

  example

  屬性的示例值

  required

  是否為必須值

七:關(guān)于TOKER問題

考慮到安全的問題,每次請求API需要對用戶進行驗證與授權(quán)。目前主流的驗證方式采用請求頭部(request header)傳遞token,即用戶登錄之后獲取一個token,然后每次都使用這個token去請求API。如果想利用swagger-UI進行API測試,必須顯式為每個需要驗證的API指定token參數(shù)。

到此,相信大家對“Spring Boot+Swagger_UI怎么配置”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文標(biāo)題:SpringBoot+Swagger_UI怎么配置
文章URL:http://bm7419.com/article40/jdshho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、移動網(wǎng)站建設(shè)、搜索引擎優(yōu)化、品牌網(wǎng)站制作、ChatGPT網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)