CRMEB标准版社交电商演示 CRMEB标准版
CRMEB Pro高性能私域管理电商系统演示 CRMEB Pro版
CRMEB多店连锁加盟电商管理系统 CRMEB 多店版
多商户 PHP版
多商户 JAVA版
CRMEB Java开源商城系统 CRMEB Java版
CRMEB 开源外贸版电商系统 CRMEB 外贸版
CRMEB知识付费系统 知识付费
陀螺匠
产品 演示网址 账号 密码

CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

CRMEB微信扫码咨询

微信扫码咨询

微信扫码咨询

招商代理 招商代理 CRMEB开源商城下载 开源下载
返回顶部 返回顶部
CRMEB客服
CRMEB论坛
CRMEB小程序商城Java版Swagger界面丑、功能弱怎么破?
2020-11-24
19322

在做CRMEB-JAVA开源商城系统时,我们团队用到了uni-app,也是时下比较流行的移动端开发技术,这里边就牵扯到了前后端全部分离的问题,一般在使用java开发前后端分离项目的时候,都会用到Swagger,Swagger 是一个用于生成、描述、调用和可视化 RESTful 风格的 Web api 服务的框架,Swagger 让部署管理和使用功能强大的 API变得简单,但这仅仅是在小型项目里,API接口不多的情况下。

随着,CRMEB-JAVA开源商城系统的不断优化,功能的不断增加,并且前后台都做到了前后端分离,接口数量一度超过了200多个,这就使得系统中一些使用体验变的越来越差,例如: 提交参数为JSON没法格式化,参数错了查找麻烦,返回结果没法折叠,太长了没法看,真是非常的痛苦呀!

JAVA的Swagger界面丑、功能弱怎么破?


但是,作为程序员一定要知道,你遇到的问题别人也一定遇到过,也肯定有热心的大牛解决了这个问题,所以,一个叫knife4j的增强版本Swagger诞生了,他帮我们很好地解决了以上问题,引用一下原作者的话来简单了解下knife4j:


希望knife4j像一把匕首一样小巧,轻量,并且功能强悍,也希望把她做成一个为Swagger接口文档服务的通用性解决方案,而不仅仅只是专注于前端Ui前端.


先上一张项目刚上的knife4j优化过的Swagger的剧照,先睹为快:

JAVA的Swagger界面丑、功能弱怎么破?


看上图是不是一目了然,最重要的是搜索框可以搜索相关api接口快速查询,并且可以在线调试接口,再来张图展示!

JAVA的Swagger界面丑、功能弱怎么破?


knife4j开源项目说明:

JAVA的Swagger界面丑、功能弱怎么破?


Spring Boot 项目使用knife4j

  • 研究CRMEB_JAVA开源商城系统,学习看在实际开发当中,如何集成进项目!

# 帮助文档https://doc.xiaominfo.com/knife4j/springboot.html#maven%E5%BC%95%E7%94%A8

CRMEB_JAVA开源商城地址:

https://gitee.com/ZhongBangKeJi/crmeb_java

maven引用

第一步: 是在项目的pom.xml文件中引入knife4j的依赖,如下:

>
    >
        >com.github.xiaoymingroupId>
        >knife4j-spring-boot-starterartifactId>
        
        >2.0.2version>
    dependency>dependencies>

如果你想使用bom的方式引入,请参考Maven Bom方式引用


创建Swagger配置文件

新建Swagger的配置文件SwaggerConfiguration.java文件,创建springfox提供的Docket分组对象,代码如下:

@Configuration@EnableSwagger2@EnableKnife4j@Import(BeanValidatorPluginsConfiguration.class)public class SwaggerConfiguration { 

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())                //分组名称
                .groupName("2.X版本")
                .select()                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.swagger.bootstrap.ui.demo.new2"))
                .paths(PathSelectors.any())
                .build();        return docket;
    }

}

访问

  • 在浏览器输入地址:http://host:port/doc.html


快速安全登录

使用微信扫码登录

手机登录

{{codeText}}
{{isQrcode ? '手机登录' : '扫码登录'}}
添加官方客服微信
CRMEB公众号二维码

联系客服 领取源码+接口文档🎁