SpringMVC集成Swagger实例代码
程序员文章站
2024-02-28 14:35:22
此前写过一个关于springboot集成swagger的帖子,因为有的项目是springmvc的,所以也简单整理了一下,基本一致。
本例使用的是spring 4.1.6版...
此前写过一个关于springboot集成swagger的帖子,因为有的项目是springmvc的,所以也简单整理了一下,基本一致。
本例使用的是spring 4.1.6版本
1、添加pom依赖
<!-- jackson --> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-core</artifactid> <version>2.5.3</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-annotations</artifactid> <version>2.5.3</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-databind</artifactid> <version>2.5.3</version> </dependency> <!-- swagger --> <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger2</artifactid> <version>2.6.1</version> </dependency> <dependency> <groupid>io.springfox</groupid> <artifactid>springfox-swagger-ui</artifactid> <version>2.6.1</version> </dependency>
2、添加swaggerconfig.java类
package com.shanhy.demo.config; import org.springframework.context.annotation.bean; import org.springframework.context.annotation.configuration; import org.springframework.web.bind.annotation.responsebody; import org.springframework.web.bind.annotation.restcontroller; import com.google.common.base.predicate; import springfox.documentation.requesthandler; import springfox.documentation.builders.apiinfobuilder; import springfox.documentation.service.apiinfo; import springfox.documentation.spi.documentationtype; import springfox.documentation.spring.web.plugins.docket; import springfox.documentation.swagger2.annotations.enableswagger2; @configuration // 该注解就是告诉spring这个是一个配置文件类,这里配置的bean要交给spring去管理。这个就是用来取代beans.xml这种文件的。 @enableswagger2 // 启用 swagger public class swaggerconfig { @bean public docket createrestapi() { predicate<requesthandler> predicate = new predicate<requesthandler>() { @override public boolean apply(requesthandler input) { class<?> declaringclass = input.declaringclass(); // if (declaringclass == basicerrorcontroller.class)// 排除 // return false; if (declaringclass.isannotationpresent(restcontroller.class)) // 被注解的类 return true; if (input.isannotatedwith(responsebody.class)) // 被注解的方法 return true; return false; } }; return new docket(documentationtype.swagger_2).apiinfo(apiinfo()) // .genericmodelsubstitutes(deferredresult.class) // .genericmodelsubstitutes(responseentity.class) .usedefaultresponsemessages(false) // .forcodegeneration(false) .select().apis(predicate) // .paths(pathselectors.any())//过滤的接口 .build(); } private apiinfo apiinfo() { return new apiinfobuilder().title("接口服务")// 大标题 .version("1.0")// 版本 .build(); } }
3、配置文件添加
<?xml version="1.0" encoding="utf-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 这里省略了其他原来的配置内容 --> ...... ...... ...... ...... <mvc:default-servlet-handler /> </beans:beans>
4、测试controller方法
@controller public class homecontroller { @requestmapping(value = "/test", method = requestmethod.get) @responsebody public string test(locale locale, model model) { return "test"; } }
5、启动服务访问查看效果
访问地址:http://localhost:8188/{工程contextpath}/swagger-ui.html
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。