栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC集成Swagger实例代码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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





 
 ......
 ......
 ......
 ......

 



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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/146492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号