SSM整合Swagger

养成习惯,先赞后看!!!

前言

之前我自己学习使用了Swagger这个插件,感觉很好用,但是之前是在springboot里面整合的,的确十分的方便,只需要导入依赖,编写一个配置类把它引入到spring容器之中就行了.

有需要的可以去参考这篇博客: 前后端接口测试神器Swagger基本使用

但是因为当前公司的项目是用的SSM框架写的,之后会开始用springboot框架写,所以就需要在SSM框架里面配置Swagger.但是在这个过程中还是碰到了几个比较难搞的点,所以就记录下来.

步骤

导入依赖

这一步和之前的springboot其实是一样的,在pom.xml文件里面添加以下的依赖就行了.

 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.9.2</version>
    </dependency>

编写配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .groupName("瓤瓤")
                .select()
                .apis(RequestHandlerSelectors.basePackage("你所要扫描的controller包"))
                .build();
    }

    private ApiInfo apiInfo(){
        Contact contact=new Contact("瓤瓤","https://blog.csdn.net/lovely__RR","2293557957@qq.com");
        return new ApiInfo(
                "瓤瓤",
                "你我山巅自相逢,予你与我遇清风",
                "1.0",
                "https://swagger.io/",
                contact,
                "Apache 2.0",
                "http://www.apache.org/licenses/LICENSE-2.0",
                new ArrayList<>()
        );
    }
}

下载swagger-ui资源

大家直接点击链接下载即可
链接:https://pan.baidu.com/s/1vvQtJsysYEKS-i8ZgcA31w
提取码:67da
下载完成之后将解压文件将dist文件下面的所有文件全部复制到 WEB-INF 文件下面就行了如下图所示:

在这里插入图片描述

配置springMVC.xml文件

主要就是将我们的swagger配置文件注入到spring容器中,否则是无法生效的.

 <!--重要!将你的SwaggerConfig配置类注入-->
    <bean class="czams.admin.controller.swagger.SwaggerConfig"/>
    <!--重要!配置swagger资源不被拦截-->
    <mvc:resources mapping="/swagger/**" location="/WEB-INF/swagger/"/>

配置web.xml文件

这一步其实只要你是之前正常些的SSM项目,这段代码,你里面肯定是有的

<servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

只要类似的就行

修改url地址

这时候我们尝试去访问该网页,具体的网址需要根据你的项目名来定.
http://localhost:8089/swagger/index.html
或者http://localhost:8080/swagger-ui.html
后者访问成功的可能性会高一点.

这里可能会出现类似于下面的错误
在这里插入图片描述
我们需要去修改该文件的url参数
在这里插入图片描述
这里的url默认是http://petstore.swagger.io/v2/swagger.json
我们需要修改成 /v2/api-docs

如果还是不行的话,可能 有下面几个原因

  1. 默认端口号是8080,所以最好用8080端口,反正我试了半天,我的问题就是这个,我之前用的是8089端口跑的,但是一直没有出来,试了网上很多的办法,最好瞎碰却解决出来了.
  2. 可能是tomcat的解码方式有问题,可以去修改Tomcat的serve.xml文件
    在这里插入图片描述
    加上这段代码在这里插入图片描述
    最后我们去访问网页,基本上第二个网址一般能够正常访问了,但是第一个网址可能还是不行,但是至少我们能够使用swagger了,就如下图所示
    在这里插入图片描述

都看到这儿了,如果对你有帮助的话,还希望能关注我的公众号,新人博主需要你的支持.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值