【java小程序实战】swagger2构建restful接口测试

在开发过程中使用swagger2接口进行测试有以下几个好处:

1、可以生成文档形式的api并提供个不同的安卓、IOS、前端开发团队。
2、方便后端开发人员进行功能的自测,也方便领导查阅任务量。
3、无需过多冗余的word文档。
下面直接开始配置:

一、pom依赖包

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

二、创建一个swagger2的java类

    @Configuration
    @EnableSwagger2
    public class Swagger2 {
        /**
         * swagger2 的配置文件,这里可以配置swagger2 的一些基本内容,比如扫描的包等等。
         * @return
         */
        @Bean
        public Docket createRestApi(){
           //为swagger添加header 参数可供输入
            ParameterBuilder userTokenHeader = new ParameterBuilder();
            ParameterBuilder userIdHeader = new ParameterBuilder();
            List<Parameter> pars = new ArrayList<>();
            userTokenHeader.name("headerUserToken").description("userToken")
                         .modelRef(new ModelRef("string")).parameterType("header")
                         .required(false).build();
            userIdHeader.name("headerUserId").description("userId")
                        .modelRef(new ModelRef("string")).parameterType("header")
                        .required(false).build();
            pars.add(userTokenHeader.build());
            pars.add(userIdHeader.build()); 
             //上面这部分代码可以省去,直接return。 new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
             //    .apis(RequestHandlerSelectors.basePackage("com.imooc.controller"))
            //       .paths(PathSelectors.any()).build();
    
            return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                      .apis(RequestHandlerSelectors.basePackage("com.imooc.controller"))
                      .paths(PathSelectors.any()).build()
                      .globalOperationParameters(pars);
        }

    /**
     *  构建API 文档的信息
     * @return
     */
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                //设置页面标题
                .title("使用swagger2 构建短视频后端api接口文档")
                //设置联系人
                .contact(new Contact("taojin1122","www.csdn.net","1027679890@qq.com"))
                 //描述
                .description("欢迎访问短视频接口文档,这里是描述信息")
                  //定义版本号
                .version("1.0").build();
    }
}

三、在controller中添加注解:

1、在类上添加@Api 注解,有value、tags、description等属性。
2、在方法上添加@ApiOperation 注解,有value、notes等属性。
3、也可以在参数中添加@ApiParam 注解。
@ApiParam(required = true,name = “sysDictType”, value = “数据字典类型”)

示例

四,在实体类中添加注解:

1、在类上添加@ApiModel注解,可以添加value、description属性
2、在字段上添加@ApiModelProperty 注解。
hideen 属性:为true表示隐藏该字段。
value属性:字段的值。
name属性:字段名。
example属性:示例。
required属性:为true表示必填。

示例

五、启动项目,访问http://localhost:8081/swagger-ui.html#/ 该地址就可以出现如图显示的页面。

示例

这篇文章的 PRESS.one 签名:
https://press.one/file/v?s=c577fc8031bbcbb87d50efe53ef7ea4726d437e1c2dcdeba84758506cbdbe08f2833b9077d5df3b86ff9c0f8593790c7f18b0c7d51fe3e4bfcc0ff5b26ff64e40&h=2f00ac7b97018b1c2de7d68840150b86d6714bff45129573114b1cf1da26a28a&a=e7beb8100dc2b02c24a0dde79d983cd3fca01fd0&f=P1&v=2
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值