Springboot--整合swagger2框架使用

在前后端分离的开发中,后端对业务流程的接口开发完成后,还要再写一份接口文档提供给前端。但是开发完成后代码还有变动,在后续的接口代码改动中,相应的接口文档也要做出维护改动。而运用了swagger生成在线接口文档后,就不需要再维护接口文档了,只要接口中的代码改动后,在相应的注解上写出变化即可,而且swagger还提供了在线测试接口的功能,十分的方便。


开始整合
先在 pom.xml中引入jar包

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

创建swagger配置类
Swagger2Config.java 我们只要配置一个Docket bean即可

@Configuration
//启用swagger2
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
        		//swagger-ui访问路径
                .pathMapping("/")
                .select()
                // 只扫描类上有API注解的class
                // .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                // 只扫描方法上有ApiOperation注解的方法
                // .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                //swagger扫描的包
                .apis(RequestHandlerSelectors.basePackage("com.work.webstudy.controller"))
                //对所有路径进行监控
                .paths(PathSelectors.any())
                .build()
                //这里apiInfo配置的是在线文档的基本信息
                .apiInfo(new ApiInfoBuilder()
                        .title("Swagger整合Springboot")	//标题
                        .description("Springboot Swagger Test")	//简介
                        .version("1.0")	//版本号
                        .build());
    }
}

然后在Controller层创建接口测试

@RestController
@Api(value = "测试操作接口列表")
public class TestController {
    @Autowired
    private TestuserMapper testuserMapper;
    @RequestMapping(value = "/test",method = RequestMethod.POST)
    @ApiOperation(value = "获得测试接口",notes = "这个接口只是用来测试")

    @ApiImplicitParams({
            @ApiImplicitParam(name = "uid",required = true,value = "用户ID(必填)",dataType = "long")
    })
    public Testuser test(long uid){
        Testuser testuser=testuserMapper.selectByPrimaryKey(uid);
        return testuser;
    }
}

@ApiImplicitParams 注解是由一系列@ApiImplicitParam组成, 这两个都是用在方法上面的,在@ApiImplicitParam中,name参数是接口参数的名字,required=true 表示该参数必填,value是对参数的说明,dataType是参数的数据类型
然后输入localhost:8080/swagger-ui.html看到如下页面
在这里插入图片描述
在线测试,点击 Try it out:
在这里插入图片描述
点击后就变成了如下页面:在这里插入图片描述
然后输入测试用例 点击Execute
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值