`
lp895876294
  • 浏览: 279716 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

springmvc集成swagger-ui

 
阅读更多
  • 引入基于maven的swagger依赖
    <dependency>
                <groupId>com.mangofactory</groupId>
                <artifactId>swagger-springmvc</artifactId>
                <version>1.0.2</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.3.1</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.3.1</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.3.1</version>
            </dependency>
     
  • 项目是基于Spring-boot搭建,以注解的方式引入swagger-springmvc配置。
    import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
    import com.mangofactory.swagger.models.dto.ApiInfo;
    import com.mangofactory.swagger.plugin.EnableSwagger;
    import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @EnableSwagger
    public class SwaggerConfig {
    
        @Bean
        public SwaggerSpringMvcPlugin customImplementation(SpringSwaggerConfig springSwaggerConfig) {
            SwaggerSpringMvcPlugin swaggerSpringMvcPlugin = new SwaggerSpringMvcPlugin(springSwaggerConfig) ;
            //rest地址是以regex的方式匹配
            swaggerSpringMvcPlugin.apiInfo(apiInfo()).includePatterns("/api/.*" ,
                    "/ticket/.*" , "/dictionary/.*" , "/oss/.*");
    
            return swaggerSpringMvcPlugin ;
        }
    
        public ApiInfo apiInfo(){
            ApiInfo apiInfo = new ApiInfo("APP接口" ,
                    "如果没有特殊说明,所有接口返回的数据格式为JSON格式,JSON模板为:{ \"success\":true或false , \"data\":{数据} }" ,
                    "" , "" , "" , "") ;
    
            return apiInfo ;
        }
    }
     至此,项目中swagger-springmvc配置完成。如果项目中进行了权限过滤,需要放开swagger对外提供的api接口,接口地址为/api-docs/** ,并设置可以跨域访问。
  • 集成swagger-ui 。 由swagger-ui的github地址下载发布的内容,swagger的github地址 : https://github.com/swagger-api/swagger-ui 。
  • 下载完成后将dist目录中的内容放到tomcat的webapps/ROOT目录下,修改index.html中http://petstore.swagger.io/v2/swagger.json 为 项目的/api-docs地址。

        部署完成之后,swagger-ui通过访问/api-docs地址获取rest接口地址。每个接口地址的详情则是通过访问/api-docs下的内置地址规则获取。

 

        问题:

  • swagger-ui页面js存在bug,修改后的swagger-ui见附件。
  • swagger-ui页面中接口地址即使用注解声明接口描述信息,在swagger-ui中也无中文说明。可能是配置的问题,留作继续学习。
  • swagger-ui中接口测试,如果跨域访问接口仍有问题,留作继续学习。

 

 

分享到:
评论

相关推荐

    springmvc与swagger swagger-ui 集成demo

    对应博文:http://blog.csdn.net/maskice/article/details/51735498

    springmvc+mybatis+swagger-ui

    本案例是以maven创建的集spring mvc+mybatis架构的web应用为基础集成的swagger ui文档生成工具的一个简单案例,完全可以运行

    springMVC Spring mybatis swagger demo

    基于gradle的 ssm 框架,集成swagger-ui文档生成插件

    spring mvc 集成swagger ui 的demo

    spring mvc 集成 swagger ui 的示例代码,swagger ui是用来生成api 文档的神器。

    SpringBoot+Mybatis(通用mapper) +PageHelper整合demo

    1、这是一个 Spring-boot 的练...5、集成 swagger-ui,方便Controller层接口展示和调试 6、项目中包含SpringMVC相关的代码(分页查询,单表插入),单元测试等 7、数据库采用mysql,脚本文件在项目中的 script文件夹下

    Knife4j Java MVC框架 v2.0.8

    为您提供Knife4j Java MVC框架下载,Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!Knife4j的前身是...

    spring-boot-microservice-sample

    用于生成 API 文档的 Swagger SpringMVC 集成 使用 swagger-ui 浏览 API 文档的 index.html 文件,包括 Javascript 测试客户端 初始设置 mvn verify java -jar target/swagger-springmvc-bug.1.1.8.RELEASE.jar ( ...

    swagger ui 汉化资源包

    springmvc和swagger集成之后,自动生成,java服务端api的文档,swagger官网生成的是英文,swagger汉化包,可以为研发人员提供中文界面的文档,让不喜欢英语的同学,看的更直白。

    单点登录源码

    Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 &gt; zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...

Global site tag (gtag.js) - Google Analytics