springfox-swagger2

地址:http://www.yiyehu.tech/archives/2018/05/29/swagger2

springfox-swagger2

文档:http://springfox.github.io/springfox/docs/current/#customizing-the-swagger-endpoints
不说别的, 2.9.0的UI特别帅,所以还是用2.9.0的版本

maven


	io.springfox
	springfox-swagger2
	2.9.0


	io.springfox
	springfox-swagger-ui
	2.9.0

gradle

compile('io.springfox:springfox-swagger2:2.9.0')
compile('io.springfox:springfox-swagger-ui:2.9.0')

java

/**
     * group :rest
     * 扫描注解了@ApiOperation的方法生成API接口文档
     * @return
     */
    @Bean
    public Docket RestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("rest")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
    }

    /**
     * group :app
     * 扫描controller包生成API接口文档
     * @return
     */
    @Bean
    public Docket packageApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("app")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("tech.yiyehu.modules.app.controller"))  
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("帮帮校园")
                .description("帮帮校园")
                .termsOfServiceUrl("http://www.yiyehu.tech/")
                .version("1.0")
                .build();
    }

springfox-swagger2_第1张图片

swagger2常用注解

常用注解:
@Api()用于类,表示标识这个类是swagger的资源
例:

@Api(value="用户登录",tags={"用户登录接口"})

@ApiOperation()用于方法,表示一个http请求的操作
例:

@ApiOperation(value="", httpMethod = "", response = "接口返回参数类型", notes = "接口发布说明")

@ApiParam()用于方法,参数,字段说明,表示对参数的添加元数据(说明或是否必填等)


@ApiModel()用于类,表示对类进行说明,用于参数用实体类接收


@ApiModelProperty()用于方法,字段 ,表示对model属性的说明或者数据操作更改


@ApiIgnore()用于类,方法,方法参数 ,表示这个方法或者类被忽略


@ApiImplicitParam() 用于方法 ,表示单独的请求参数


@ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam


@RequestHeader(defaultValue="${param1.defaultValue}") 设置默认请求头

你可能感兴趣的:(spring)