SpringBoot配置Swagger2

SpringBoot配置Swagger2

  • 1.Maven引入jar包
  • 2.写一个配置类
  • 3.在Controller层写注释
    • 简单的使用说明:
  • 4.在启动类上面添加注解
  • 5.验证

1.Maven引入jar包

		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger2artifactId>
			<version>2.9.2version>
		dependency>
		
		<dependency>
			<groupId>io.springfoxgroupId>
			<artifactId>springfox-swagger-uiartifactId>
			<version>2.9.2version>
		dependency>

2.写一个配置类

package com.jack.xxx.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;

@Configuration
public class SwaggerConfig {
	@Bean
	public Docket createRestApi() {
		return new Docket(DocumentationType.SWAGGER_2)
				.apiInfo(apiInfo())
				.select()
				//这里就是要扫描的controller层
				.apis(RequestHandlerSelectors.basePackage("com.jack.xxx.controller"))
				.paths(PathSelectors.any())
				.build();
	}
	
	private ApiInfo apiInfo() {
		return new ApiInfoBuilder()
				.title("XXX api文档")
				.description("写一写简单的描述")
				.termsOfServiceUrl("网址链接")
				.version("1.0")
				.build();
	}
}

3.在Controller层写注释

@Api:用在请求的类上,表示对类的说明
    tags="说明该类的作用,可以在UI界面上看到的注解"
    value="该参数没什么意义,在UI界面上也看到,所以不需要配置"
 
@ApiOperation:用在请求的方法上,说明方法的用途、作用
    value="说明方法的用途、作用"
    notes="方法的备注说明"
 
@ApiImplicitParams:用在请求的方法上,表示一组参数说明
    @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
        name:参数名
        value:参数的汉字说明、解释
        required:参数是否必须传
        paramType:参数放在哪个地方
            · header --> 请求参数的获取:@RequestHeader
            · query --> 请求参数的获取:@RequestParam
            · path(用于restful接口)--> 请求参数的获取:@PathVariable
            · body(不常用)
            · form(不常用)    
        dataType:参数类型,默认String,其它值dataType="Integer"       
        defaultValue:参数的默认值
 
@ApiResponses:用在请求的方法上,表示一组响应
    @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
        code:数字,例如400
        message:信息,例如"请求参数没填好"
        response:抛出异常的类
 
@ApiModel:用于响应类上,表示一个返回响应数据的信息
            (这种一般用在post创建的时候,使用@RequestBody这样的场景,
            请求参数无法使用@ApiImplicitParam注解进行描述的时候)
    @ApiModelProperty:用在属性上,描述响应类的属性
--------------------- 
作者:xiaojin21cen 
来源:CSDN 
原文:https://blog.csdn.net/xiaojin21cen/article/details/78654652
参考:https://blog.csdn.net/jiangyu1013/article/details/83107255
版权声明:本文为博主原创文章,转载请附上博文链接!

简单的使用说明:

@Api(tags = "用户管理")//放到类上面,对类说明


//放到方法上,对方法说明
@ApiOperation(value = "用户登录", notes = "用户登录功能")
    @ApiImplicitParams({
        @ApiImplicitParam(paramType = "query", name = "username", value = "用户名", required = true, dataType = "String"),
        @ApiImplicitParam(paramType = "query", name = "pwd", value = "密码", required = true, dataType = "String")
})

4.在启动类上面添加注解

@EnableSwagger2

5.验证

http://localhost:8080/swagger-ui.html

SpringBoot配置Swagger2_第1张图片

你可能感兴趣的:(实用小技巧)