前言

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。

关于springmvc框架整合swagger的技术相信网上已经有很多demo了。但是前不久我刚学习的时候我试这从网上拉了代码下来,发现整合失败了。后来在自己的努力下终于成功了。下面就给大家来介绍一下吧  (*^__^*) 嘻嘻。

1.依赖管理

在整合之前,先要把必要的jar包引入进来。我这里用到了maven代码管理工具,所以只需要在pom.xml文件里引入以来就好了。

 <!-- swagger-mvc -->
 <dependency>
     <groupId>com.mangofactory</groupId>
     <artifactId>swagger-springmvc</artifactId>
     <version>1.0.2</version>
 </dependency>
 <dependency>
     <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-databind</artifactId>
     <version>2.6.6</version>
 </dependency>
 <!-- swagger-mvc -->
 <!-- slfj4 -->
 <dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-log4j12</artifactId>
     <version>1.7.7</version>
 </dependency>

2.swagger配置

 package cn.fansunion.swagger.serverapi.swagger;

 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

 import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
 import com.mangofactory.swagger.models.dto.ApiInfo;
 import com.mangofactory.swagger.paths.SwaggerPathProvider;
 import com.mangofactory.swagger.plugin.EnableSwagger;
 import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;

 @Configuration
 @EnableWebMvc
 @EnableSwagger
 public class CustomJavaPluginConfig extends WebMvcConfigurerAdapter {

     private SpringSwaggerConfig springSwaggerConfig;

     @Autowired
     public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
         this.springSwaggerConfig = springSwaggerConfig;
     }

     /**
      * 链式编程 来定制API样式 后续会加上分组信息
      *
      * @return
      */
     @Bean
     public SwaggerSpringMvcPlugin customImplementation() {
         return new SwaggerSpringMvcPlugin(this.springSwaggerConfig)
                 .apiInfo(apiInfo()).includePatterns(".*")
                 .useDefaultResponseMessages(false)
             //    .pathProvider(new GtPaths())
                 .apiVersion("0.1");

     }

     private ApiInfo apiInfo() {
         ApiInfo apiInfo = new ApiInfo("SwaggerAPI接口平台",
                 "提供详细的后台所有Restful接口", "http://blog.csdn.net/FansUnion",
                 "1058449814@qq.com", "我的邮箱", "http://baidu.com");
         return apiInfo;
     }

     @Override
     public void configureDefaultServletHandling(
             DefaultServletHandlerConfigurer configurer) {
         configurer.enable();
     }

     class GtPaths extends SwaggerPathProvider {

         @Override
         protected String applicationPath() {
             return "/restapi";
         }

         @Override
         protected String getDocumentationPath() {
             return "/restapi";
         }
     }

 }

.....待续

最新文章

  1. 关于struts和Spring 结合到一起之后存在ACtion创建单实例还是多
  2. Nice Validator(Form验证)及Juery zTree控件
  3. JSON.stringify()、JSON.parse()和eval(string)
  4. Java反射机制(Reflection)
  5. SQL Server中的事务日志管理(3/9):事务日志,备份与恢复
  6. wpf仿QQ之窗体翻转
  7. 解决ntfs格式的移动硬盘mount到Linux下时变成只读文件系统的问题
  8. Power of Cryptography
  9. ORACLE 主要后台进程1
  10. J2SE知识点摘记(二十一)
  11. 进阶:案例六: Context Menu(静态 与 动态)
  12. tp框架 使用ajax
  13. pyqt样式表语法笔记(中)
  14. 深入讨论channel timeout
  15. javascript基础修炼(4)——UMD规范的代码推演
  16. python 之C3算法
  17. Spring Boot(二):Web 综合开发
  18. oracle 12C ORA-07445 12.1.0.2.0
  19. C#利用反射实现两个类的对象之间相同属性的值的复制
  20. php7配置多线程

热门文章

  1. vue_mint-ui
  2. [LeetCode] Binary Trees With Factors 带因子的二叉树
  3. python中的包与模块
  4. 配置NTP网络时间自动校对系统时间和创建备份文件
  5. 壁虎书3 Classification
  6. Convert List&lt;Entity&gt; to Json String.
  7. 多线程深入:乐观锁与悲观锁以及乐观锁的一种实现方式-CAS(转)
  8. JAVA学习笔记 (okHttp3的用法)
  9. MySQL 误删数据、误更新数据(update,delete忘加where条件)
  10. (转)手工释放linux内存——/proc/sys/vm/drop_cache