Springboot中使用swagger2

簡介:

swagger2是一個生成在線API文檔的工具。可通過生產的在線文檔測試接口。

一,依賴

<!--  配置 swagger -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>

二,配置類

package test.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
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
@ComponentScan(basePackages = { "test.controller" })
@Configuration
public class Swagger2Config {
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				.apis(RequestHandlerSelectors.any())
				.paths(PathSelectors.any())
				.build();
	}

	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("測試項目 RESTful APIs")
				.description("測試接口")
				.version("1.0").
				build();
	}
}

三,啓動類

在啓動類中啓使用 @EnableSwagger2註解來啓用Swagger2Configuration

package test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@SpringBootApplication
@EnableSwagger2
public class TestApplication {

	public static void main(String[] args) {
		SpringApplication.run(TestApplication.class, args);
	}
}

四,訪問

http://ip:port[/context-path]/swagger-ui.html
(如:http://127.0.0.1:8082/test/swagger-ui.html)

五,常用註解

官網wiki:https://github.com/swagger-api/swagger-core/wiki/Annotations

@Api	將類標記爲Swagger資源。
@ApiImplicitParam	表示API操作中的單個參數。
@ApiImplicitParams	一個包裝器,允許列出多個ApiImplicitParam對象。
@ApiModel	提供有關Swagger模型的其他信息。
@ApiModelProperty	添加和操作模型屬性的數據。
@ApiOperation	描述針對特定路徑的操作或通常是HTTP方法。
@ApiParam	爲操作參數添加其他元數據。
@ApiResponse	描述操作的可能響應。
@ApiResponses	一個包裝器,允許列出多個ApiResponse對象。
@Authorization	聲明要在資源或操作上使用的授權方案。
@AuthorizationScope	描述OAuth2授權範圍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章