Spring boot 整合 Swagger UI

gradle 依赖:

buildscript {
    ext {
        springBootVersion = '1.5.9.RELEASE'
        swaggerVersion = '2.7.0'
    }
    repositories {
        maven {
            url '私服仓库地址'
        }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
dependencies {
    compile group: 'io.springfox', name: 'springfox-swagger2', version: swaggerVersion
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: swaggerVersion
}

Swagger 配置:

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(
                RequestHandlerSelectors.basePackage("com.xxx.xxx")).paths(
                PathSelectors.any()).build();
    }

    /**
     * 页面中展现的概述信息
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("标题").contact("Author").version(
                "Version").build();
    }

}

访问:http://IP:port/contextPath/swagger-ui.html

相关注解说明:

@Api:作用于Controller上,描述控制器的作用
@ApiOperation:作用于方法上,描述方法的作用
@ApiIgnore:作用于方法上,使该方法不被显示在Swagger UI 文档中
@ApiImplicitParam:作用于方法上,描述方法中请求的参数
@Api(value = "这是一个控制器", description= "这个控制器是处理XXX的") 
public class XxxController{

    /**
     * tags 可以将控制的方法进行分类,想用tags的方法在同一父节点下
     */
    @GetMapping("/user/{id}")
    @ApiOperation(value = "获取用户信息", tags = "tag1")
    @ApiImplicitParam(name = "id", value = "参数描述", required = true, dataType = "String")
    public User getUser(@PathVariable String id){

        return new User();
    }
    
}
@ApiModel:作用与POJO类上,可显示POJO类属性
@ApiModelProperty:作用于@ApiModel标记的POJO类的属性上,对属性进行描述
@ApiModel
public class User{

    @ApiModelProperty("姓名")
    private String name = "";
}

其他注解没有深入研究,欢迎补充!

 

转载于:https://my.oschina.net/u/3757402/blog/1594766

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值