Spring+SpringMVC添加SwaggerUI测试接口_XML版

Spring+SpringMVC添加SwaggerUI测试接口_XML版
由于Swagger配置类的特殊性,完全使用XML形式,目前没找到方法,我将介绍的是XML+注解形式,其实原理与注解形式一样,添加依赖,创建配置类,包扫描,取消静态资源拦截,添加注解并使用。

首先引入所需的依赖,目前主流使用版本是2.10.5

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

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spring-webmvc</artifactId>
            <version>2.10.5</version>
        </dependency>

添加一个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的配置类
静态资源

 <!--重要!必须开启注解驱动-->
    <mvc:annotation-driven/>
   <!--此案例开启静态资源移交tomcat-->
    <mvc:default-servlet-handler/>
   <!--swagger内部配置类,需要被扫包创建-->
    <context:component-scan base-package="springfox.documentation.swagger.web"></context:component-scan>

    <!--重要!配置swagger资源不被拦截(以下两个静态目录不被移交到tomcat)-->
    <mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
    <mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />

    <!--重要!将你的SwaggerConfig配置类注入-->
    <bean id="swaggerConfig" class="com.alibaba.config.SwaggerConfig"/>

在需要做测试的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<Boolean> registerUser(@RequestBody UserVo userVo) throws ProjectException {

        try {
            boolean flag = userService.registerUser(userVo);
//后续部分省略
posted @ 2021-02-14 16:36  lutoux  阅读(86)  评论(0)    收藏  举报