博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 4.2.2以上版本和swagger集成方案和踩过的坑
阅读量:6337 次
发布时间:2019-06-22

本文共 5718 字,大约阅读时间需要 19 分钟。

hot3.png

因为公司使用的spring版本太高,在集成swagger的时候会存在一些问题,而网上的很多实例大多都是版本比较低的,为了是朋友们少才坑,我这边将集成的过程记录一下:

1. 引入spring、swagger的相关jar包(springfox-swagger2、springfox-swagger-ui),在pom.xml中配置:

  1.                 
    io.springfox
                    
    springfox-swagger2
                    
    2.4.0
                    
                        
                            
    org.springframework
                            
    spring-core
                        
                        
                            
    org.springframework
                            
    spring-beans
                        
                        
                            
    org.springframework
                            
    spring-context
                        
                        
                            
    org.springframework
                            
    spring-context-support
                        
                        
                            
    org.springframework
                            
    spring-aop
                        
                        
                            
    org.springframework
                            
    spring-tx
                        
                        
                            
    org.springframework
                            
    spring-orm
                        
                        
                            
    org.springframework
                            
    spring-jdbc
                        
                        
                            
    org.springframework
                            
    spring-web
                        
                        
                            
    org.springframework
                            
    spring-webmvc
                        
                        
                            
    org.springframework
                            
    spring-oxm
                        
                    
                
                
                    
    io.springfox
                    
    springfox-swagger-ui
                    
    2.4.0
                
        

     

提醒: 特别注意,springfox-swagger2在集成的时候,已经引入了spring的相关jar,特别是spring-context、spring-context-support的版本和项目中使用的版本完全不一致,项目在启动的时候出现很多包冲突的问题,这边在引入pom.xml文件的时候过滤掉了spring的相关jar包,如绿色标志。

 

2. 编写Swagger的配置类:

 

  1. package com.ml.honghu.swagger.web;        import org.springframework.context.annotation.Bean;    import org.springframework.context.annotation.ComponentScan;    import org.springframework.context.annotation.Configuration;    import org.springframework.web.servlet.config.annotation.EnableWebMvc;        import springfox.documentation.builders.ApiInfoBuilder;    import springfox.documentation.builders.PathSelectors;    import springfox.documentation.builders.RequestHandlerSelectors;    import springfox.documentation.service.ApiInfo;    import springfox.documentation.service.Contact;    import springfox.documentation.spi.DocumentationType;    import springfox.documentation.spring.web.plugins.Docket;    import springfox.documentation.swagger2.annotations.EnableSwagger2;        @EnableWebMvc    @EnableSwagger2    @Configuration    @ComponentScan(basePackages ={"com.ml.honghu.**.rest"})    public class SwaggerConfig {        @Bean        public Docket createRestApi() {            return new Docket(DocumentationType.SWAGGER_2)                    .apiInfo(apiInfo())                    .select()                    .apis(RequestHandlerSelectors.basePackage("com.ml.honghu"))                    .paths(PathSelectors.any())                    .build();        }            private ApiInfo apiInfo() {            return new ApiInfoBuilder()                    .title("接口列表 v1.0")                    .description("接口信息")                    .termsOfServiceUrl("http://honghu.com")                    .contact(new Contact("", "", "HongHu"))                    .version("1.1.0")                    .build();        }    }    

     

3. 在spring-mvc.xml文件中进行过滤器的配置,过滤掉swagger的相关访问配置:

    
    
 

   

4. 服务配置项

@Api("区域服务")    @RestController    @RequestMapping(value = "/rest/area")    public class AreaService  {            @Autowired        private AreaService areaService;                
@ApiOperation(value = "区域列表", httpMethod = "GET", notes = "区域列表")        @IsLogin        @ResponseBody        @RequestMapping(value = "treeData", method = RequestMethod.GET)        public List
> treeData(                
@ApiParam(required = true, value = "区域ID")  @RequestParam(required=false) String extId, HttpServletResponse response) {            List
> mapList = Lists.newArrayList();            List
 list = areaService.findAll();            for (int i=0; i
 map = Maps.newHashMap();                    map.put("id", e.getId());                    map.put("pId", e.getParentId());                    map.put("name", e.getName());                    mapList.add(map);                }            }            return mapList;        }    }    

 

4. 启动项目,查看结果:

 

到此结束!!

转载于:https://my.oschina.net/u/3873725/blog/1825179

你可能感兴趣的文章
实现LNMMP
查看>>
mysql的pid文件出现问题
查看>>
计算rem单位
查看>>
第七章 大网高级 ASA
查看>>
rsync+inotify触发式远程同步
查看>>
优秀设计师应当知道的几大UI设计原则(一)
查看>>
mongodb高级查询
查看>>
struts2.1 struts.devMode BUG解决方案
查看>>
日本法院裁定三星诉苹果专利侵权案败诉
查看>>
Windows Server 2012R2 桌面体验问题直通车
查看>>
Springboot配置文件读取报错Configuration property name 'projectUrl' is not valid:
查看>>
HTTP状态码
查看>>
今天的学习
查看>>
面试必问之JVM原理
查看>>
mysql主主同步+Keepalived
查看>>
研究音频编解码要看什么书
查看>>
tomcat远程调试配置
查看>>
QuartZ Cron表达式
查看>>
性能测试工具VTune的功能和用法介绍
查看>>
音频视频组件Audio DJ Studio for .NET更新至v10.0.0.0丨附下载
查看>>