本文主要是介绍java丝袜_SpringBoot项目使用Swagger2(丝袜哥)实现接口测试管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
案例如下:
安装步骤,在写完的项目中,添加swagger的相关依赖
使用官方依赖
1、在pom.xml文件中添加swagger相关依赖
io.springfox
springfox-swagger2
2.7.0
io.springfox
springfox-swagger-ui
2.7.0
也可以:
2.7.0
io.springfox
springfox-swagger2
${swagger.version}
io.springfox
springfox-swagger-ui
${swagger.version}
第一个是API获取的包,第二是官方给出的一个ui界面。这个界面可以自定义,默认是官方的,对于安全问题,以及ui路由设置需要着重思考。
2、swagger的configuration
需要特别注意的是swagger scan base package,这是扫描注解的配置,即你的API接口位置。
packagecn.xnol.user;importorg.springframework.boot.autoconfigure.condition.ConditionalOnProperty;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importspringfox.documentation.builders.ApiInfoBuilder;importspringfox.documentation.builders.PathSelectors;importspringfox.documentation.builders.RequestHandlerSelectors;importspringfox.documentation.service.ApiInfo;importspringfox.documentation.service.Contact;importspringfox.documentation.spi.DocumentationType;importspringfox.documentation.spring.web.plugins.Docket;importspringfox.documentation.swagger2.annotations.EnableSwagger2;//swagger2的配置文件,在项目的启动类的同级文件建立
@Configuration
@EnableSwagger2//是否开启swagger,正式环境一般是需要关闭的(避免不必要的漏洞暴露!),可根据springboot的多环境配置进行设置
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")public classSwagger2 {//swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
@BeanpublicDocket createRestApi() {return newDocket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()//为当前包路径
.apis(RequestHandlerSelectors.basePackage("cn.xnol.user.controller")).paths(PathSelectors.any())
.build();//.pathMapping("/stu");//在这里可以设置请求的统一前缀
}//构建 api文档的详细信息函数,注意这里的注解引用的是哪个
privateApiInfo apiInfo() {return newApiInfoBuilder()//页面标题
.title("SpringBoot基于Swagger2构建RESTful API接口测试")//描述
.description("API接口描述")//创建人信息
.contact(new Contact("Agoly", "https://www.cnblogs.com/qmfsun/", ""))//版本号
.version("1.0")
.build();
}
}
swagger.enable=truespringfox.documentation.swagger.v2.path= /user/api-docs
在controller中的接口路由中添加接口说明信息
packagecn.xnol.user.controller;importcn.xnol.user.entry.User;importcn.xnol.user.service.UserService;importio.swagger.annotations.Api;importio.swagger.annotations.ApiOperation;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.data.domain.Page;import org.springframework.web.bind.annotation.*;importjavax.servlet.http.HttpServletResponse;importjava.util.List;//用于类;表示标识这个类是swagger的资源//tags:说明,如果有多个tags,则会以list形式展示//value: 说明,可以使用tags替代
@Api(value = "测试Controller" , tags = "用户服务")
@RestController
@RequestMapping("/user")public classUserController {
@Autowired
UserService userService;/*** 添加学生
*@paramuser 要添加的用户对象
*@return
*/@ApiOperation(value="新增用户")
@PostMapping("/add")publicUser save(User user){returnuserService.save(user);
}/*** 修改学生
*@paramuser
*@return
*/@ApiOperation(value= "修改用户", notes = "修改用户信息")
@PostMapping("/update")publicUser update(User user){returnuserService.save(user);
}/*** 删除用户
*@paramid 要删除的用户id
*@return
*/@ApiOperation(value= "根据id删除用户", notes = "删除用户")
@GetMapping("/del/{id}")public String del(@PathVariable intid){
userService.delete(id);return "yes";
}/*** 通过姓名找到信息
*@paramname
*@return
*/@ApiOperation(value= "根据用户名查询", notes="用户名查询")
@GetMapping("/findByName/{name}")public ListfindByName(@PathVariable String name){returnuserService.findUserByName(name);
}/*** 利用分页查找全部信息
*@parampage
*@paramresponse
*@return
*/@ApiOperation(value= "分页查询", notes="默认5条记录显示页")
@GetMapping("/query")public PagefindByPage(Integer page, HttpServletResponse response){//异步请求使用
response.setHeader("Access-Control-Allow-Origin","*");if(page==null || page<=0){
page= 0;
}else{
page-= 1;
}return userService.findAll(page,5);
}
}
配置完成,启动项目,效果如下:
参考:
这篇关于java丝袜_SpringBoot项目使用Swagger2(丝袜哥)实现接口测试管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!