SpringMVC集成Swagger实例代码

网友投稿 237 2023-05-20


SpringMVC集成Swagger实例代码

此前写过一个关于SpringBoot集成Swagger的帖子,因为有的项目是SpringMVC的,所以也简单整理了一下,基本一致。

本例使用的是spring 4.1.6版本

1、添加POM依赖

com.fasterxml.jackson.core

jackson-core

2.5.3

com.fasterxml.jackson.core

jackson-core

2.5.3

com.fasterxml.jackson.core

jackson-annotations

2.5.3

com.fasterxml.jackson.core

jackson-databind

2.5.3

io.springfox

springfox-swagger2

2.6.1

io.springfox

springfox-swagger-ui

2.6.1

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.pluginhttp://s.Docket;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration // 该注解就是告诉Spring这个是一个配置文件类,这里配置的Bean要交给Spring去管理。这个就是用来取代Beans.xml这种文件的。

@EnableSwagger2 // 启用 Swagger

public class SwaggerConfig {

@Bean

public Docket createRestApi() {

Predicate predicate = new Predicate() {

@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、配置文件添加

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xmlns:mvc="http://springframework.org/schema/mvc"

xmlns:beans="httQFOXRp://springframework.org/schema/beans"

xmlns:context="http://springframework.org/schema/context"

xsi:schemaLocation="http://springframework.org/schema/mvc http://springframework.org/schema/mvc/spring-mvc.xsd

http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/mvc

http://springframework.org/schema/mvc/spring-mvc.xsd

http://springframework.org/schema/context http://springframework.org/schema/context/spring-context.xsd">

......

......

......

......

QFOXR

xmlns:xsi="http://w3.org/2001/XMLSchema-instance"

xmlns:mvc="http://springframework.org/schema/mvc"

xmlns:beans="httQFOXRp://springframework.org/schema/beans"

xmlns:context="http://springframework.org/schema/context"

xsi:schemaLocation="http://springframework.org/schema/mvc http://springframework.org/schema/mvc/spring-mvc.xsd

http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd

http://springframework.org/schema/mvc

http://springframework.org/schema/mvc/spring-mvc.xsd

http://springframework.org/schema/context http://springframework.org/schema/context/spring-context.xsd">

......

......

......

......

QFOXR

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java微信公众平台开发(14) 微信web开发者工具使用
下一篇:浅谈spring中的default
相关文章

 发表评论

暂时没有评论,来抢沙发吧~