IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

项目结构

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

Swapper2在POM中的依赖

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

<!-- springfox依赖 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>${springfox.version}</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>${springfox.version}</version>
</dependency>
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>15.0</version>
</dependency>


创建SwaggerConfig类

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

注意这里:这里扫描的是controller
@ComponentScan(basePackages = {"com.mano233.ssm.controller"})
.apis(RequestHandlerSelectors.basePackage("com.mano233.ssm.controller")).build();

在Spring配置中添加bean和静态资源访问

因为Swapper2.*版本将静态资源全部整合到了jar中,

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

所以要在springmvc的xml配置中添加如下内容

<!--这里是自定义的swapper2配置-->
<bean class="com.mano233.ssm.swagger2.SwaggerConfig" id="swagger2Config"/>
<!--当然你也可以使用默认的swagger2配置-->
<!--<bean class="springfox.documentation.swagger2.configuration.Swagger2DocumentationConfiguration" id="swagger2Config"/>-->
<mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html"/>
<mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**"/>
<mvc:default-servlet-handler/>
IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

在controller中添加注解

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发


在浏览器中访问

访问localhost:80080/项目名/swagger-ui.html

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

大功告成!



注意事项:

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发

尤其注意一下自己项目在tomcat中的名字

不知道是不是BUG,博主改成MyspringSSM这个名字之后就无法访问localhost:80080/项目名/swagger-ui.html了。。。。。很尴尬的问题,而且网上的方法基本不管用了,博主也是被坑了很久,知道换了个名字

 囧

IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发