Spring+SpringMVC添加SwaggerUI测试接口_XML版
由于Swagger配置类的特殊性,完全使用XML形式,目前没找到方法,我将介绍的是XML+注解形式,其实原理与注解形式一样,添加依赖,创建配置类,包扫描,取消静态资源拦截,添加注解并使用。
首先引入所需的依赖,目前主流使用版本是2.10.5
io.springfox
springfox-swagger2
2.10.5
io.springfox
springfox-swagger-ui
2.10.5
io.springfox
springfox-spring-webmvc
2.10.5
添加一个SwaggerConfig配置类,所在包不限
注意扫描路径要改成自己的
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
import java.util.function.Predicate;
@Configuration
//开启swagger2的webmvc支持
@EnableSwagger2WebMvc
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
// 构建API文档 文档类型为swagger2
return new Docket(DocumentationType.SWAGGER_2)
.select()
// 配置 api扫描路径
.apis(RequestHandlerSelectors.basePackage("com.alibaba.test.controller"))
// 指定路径的设置 any代表所有路径
.paths(PathSelectors.any())
// api的基本信息
.build().apiInfo(new ApiInfoBuilder()
// api文档名称
.title("自定义标题")
// api文档描述
.description("自定义描述")
// api文档版本
.version("1.0") // 版本
.build());
}
}
对Spring-Mvc.xml文件的配置
几项必须:
首先要开启注解扫描,因为配置是使用@Configuration的配置类
静态资源
在需要做测试的Controller类或方法上添加相关注解
类注解 @Api 为必须,其他注解主要方便测试识别方法的功能和描述
附注解案例
@RequestMapping("/user")
@RestController
@Api(tags = "用户模块")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private HttpSession session;
@ApiOperation(value = "注册功能")
@ApiImplicitParam(name = "userVo" ,value = "用户注册的信息",required = true,dataType = "UserVo")
@PostMapping("/register")
public ResponseWrap registerUser(@RequestBody UserVo userVo) throws ProjectException {
try {
boolean flag = userService.registerUser(userVo);
//后续部分省略