springboot添加swagger

1、引入依赖

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

2、创建swagger配置类

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;

@Configuration
@EnableSwagger2
public class Swagger2 {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.chaos.api"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("chaos服务API")
                .description("chaosAPI服务")
                .version("1.0")
                .build();
    }
}

对应swagger名称,访问地址:http://localhost:8102/swagger-ui.html,8102为项目端口号

3、在API类上添加注解

@Api()
用于类;表示标识这个类是swagger的资源
tags–表示说明
value–也是说明,可以使用tags替代

@Api(tags={"测试swagger"})
public class MemberApi {

}


@ApiOperation() 用于方法;表示一个http请求的操作
value用于方法描述
notes用于提示内容
tags可以重新分组(视情况而用)
@ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填

@RequestMapping(value="/testSwagger2",method=RequestMethod.POST)
	@ApiOperation(value="测试swagger--传单个参数",notes="注意问题点")
	public void testSwagger2(@ApiParam(name="id",value="用户id",required=true) Long id,@ApiParam(name="userName",value="用户名",required=true) String userName) {
		
	}

传对象

@RequestMapping(value="/testSwagger1",method=RequestMethod.POST)
	@ApiOperation(value="测试swagger-传对象 ",notes="注意问题点")
	public void testSwagger1(@RequestBody Member member) {
		
	}


@ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上
比较简单, 这里不做举例

posted @ 2018-01-31 11:36  夏夜弥光  阅读(200)  评论(0)    收藏  举报