IDEA开发环境中,SpringMVC与Swagger2的整合。完成restful风格的API开发
项目结构
Swapper2在POM中的依赖
<!-- 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类
注意这里:这里扫描的是controller
@ComponentScan(basePackages = {"com.mano233.ssm.controller"})
.apis(RequestHandlerSelectors.basePackage("com.mano233.ssm.controller")).build();
在Spring配置中添加bean和静态资源访问
因为Swapper2.*版本将静态资源全部整合到了jar中,
所以要在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/>
在controller中添加注解
在浏览器中访问
访问localhost:80080/项目名/swagger-ui.html
大功告成!
注意事项:
尤其注意一下自己项目在tomcat中的名字,
不知道是不是BUG,博主改成MyspringSSM这个名字之后就无法访问localhost:80080/项目名/swagger-ui.html了。。。。。很尴尬的问题,而且网上的方法基本不管用了,博主也是被坑了很久,知道换了个名字
囧