如何书写假数据?

Offer收割机
• 阅读 1795

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【如何书写假数据? 】

大家好,我是IT修真院深圳分院第十期学员,一枚正直纯洁善良的JAVA程序员。

 

今天给大家分享一下,修真院官网JAVA任务十——如何书写假数据?

 

1.背景介绍

在一个新项目的开发中,允许的开发时间都比较短,需要前后端同时进行开发。后端开发不依赖前端,技术水平决定开发用时。但前端不同,静态页面可以独立开发,但动态页面的开发依赖于后端提供的数据。如果前端脱离后端的数据支持, 自己埋头干的话,到项目发布前肯定会有一大堆的改动;而开发时间有限,不允许等到后端接口完成开发后前端再进行开发调试。

我们来讨论一下怎么解决上面的两个问题:

A.不进行大的改动?

需要前后端协调,确定接口返回的数据结构、数据类型、对象名称等等内容,也就是对接口文档进行协议需要前后端协调,确定接口返回的数据结构、数据类型、对象名称等等内容,也就是对接口文档进行协议。实际是后端编写接口文档,然后给前端看,前端确认没问题后再进行开发。

B.在后台没有开发完全的时候,前端同时进行开发?

使用假数据。那这个假数据是由谁提供?假数据是依赖于接口文档的,而接口文档的出参、入参又依赖于DB设计,DB设计是我们后端做的,所以这个假数据是由我们后端提供的。

2.知识剖析

A.假数据是什么类型的?

假数据是JSON类型的。JSON是JS对象对象表示法,它使用javascript语法来描述数据对象。JSON语法是JS语法的子集,但JSON任然独立于语言和平台,它是存储和交换文本信息的语法,是轻量级的文本数据交换格式,所以我们使用JSON格式来提供假数据。

B.提供假数据的原则

模拟假数据,不是模拟垃圾数据。假数据仅仅是指数据不真实,并不代表着数据可以随便填。模拟数据的时候要保证数据的多样性,1是要尽可能的模拟正常使用的情况;2是要尽可能的模拟异常的情况。

3.怎么提供假数据?

A.在网上找到的答案,都是前端用mock js写假数据,这有一定的风险。有什么风险呢?上面提到了假数据要真实,如果前端对接口文档理解不透彻或者是有偏差的话,那他写的假数据就有问题,到接口联调的阶段还是会有很多问题。

B.在这里,我用的方法是上一篇文章提到的RAP。RAP自身就支持自动生成假数据,只要我们使用RAP编写接口文档,RAP就会帮我们生成假数据。在RAP中我们还可以使用@mock指定生成的假数据的格式,这些内容再RAP官方用户手册写的很清楚,RAP还有官方演示视频,非常好入门,我就不赘述了。

回到提供假数据这个主题。RAP提供了一个插件,前端在代码中引入这个插件就可以使用假数据了。

我们后端用RAP写好的接口文档后,点击页面右上角“配置”按钮,会有一行代码,这行代码就是上面提到的RAP插件。这个插件映射的就是我们刚刚写接口文档。把这行代码交给前端,前端在HTML中需要先引入JQ,紧跟着再引入RAP插件,就可以使用假数据了。

详细的过程在下面的视频中。

 

 

 

3.常见问题

如何提供多个数据

 

4.解决方案

zwp.duoluobo.entryBannerShow {
    String String String String String [] = {}String[] = {}String[] = {}String[] = {}[] = {}[] = {}[] = {}[] = {}[] = {}String[] = {}String[] = { }(typesize) {
        i = size % .= [i].= size.= [i]}

    () {
        }

    (id) {
        .= id}

    String () {
        }

    (String photo) {
        .= photo}

    String () {
        }

    (String jumpUrl) {
        .= jumpUrl}

    String () {
        +
                + +
                + + +
                + + +
                + +
                + + +
                + +
                + +
                + +
                + +
                + +
                + + +
                + + +
                }
}
 ```

6.扩展思考

 

7、参考文献

方志鹏CSDN

SpringBoot的swagger2

 

8、更多讨论

1、问:springcloud 可以结合zookeeper吗?

     答:springcloud可以使用zookeeper作为注册中心,也可以用consul作为注册中心,并非一定要用eureka。只不过使用eureka的话,能共使用Netflix的oss组件,搭建起来更加方便。

 

2、http请求地址和资源文件映射有什么内容

 

/{application}/{profile}[/{label}]

/{application}-{profile}.yml

/{label}/{application}-{profile}.yml

/{application}-{profile}.properties

/{label}/{application}-{profile}.properties

3、swagger2需要什么依赖

io.springfoxspringfox-swagger22.6.1io.springfoxspringfox-swagger-ui2.6.1

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
卡尔 卡尔
4年前
JS 手撕-经典面试题
引言首先出这篇文章,一方面是为了记录巩固我所学的知识,明白面试的高频考点。不鼓励大家背题的,初衷是希望总结的一些面试题能帮助你查漏补缺,温故知新。这些题并不是全部,如果你还想看得更多,可以访问,目前已经有552道大厂真题了,涵盖各类前端的真题,欢迎加入我们一起来讨论~函数call语法:fn.call(obj,...args)功
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
3年前
PointNet:深度学习在3D点云分类与分割上的应用
大家好!我是【AI菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源!这博客是我对学习的一点总结与思考。如果您也对深度学习、机器视觉、数据结构与算法、编程等感兴趣,可以关注我的动态,我们一起学习,一起进步~我的博客地址为:【AI菌】的博客(https://www.oschina.net/action/GoToLin
Stella981 Stella981
3年前
DevOps之应用自动化发布与资源管理
本文为普元云计算架构设计群的微课堂原创分享,转载需注明出处:EAII企业架构创新研究院。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群姓名公司职位微信号”。大家好,我是郝炎峰,目前负责新一代数字化企业云平台“ThePlatform”中的基础服
Wesley13 Wesley13
3年前
LUA教程表达式逻辑运算符
Lua中的逻辑操作符有and,or,以及not。 和控制结构一样,所有的逻辑操作符把false和nil都作为假,而其它的一切都当作真。andornot逻辑运算符认为false和nil是假(false),其他为真,0也是true.and和or的运算结果不是true和false,而是和它的两个操
Stella981 Stella981
3年前
DevOps的支撑服务:K8s容器管理与应用部署
本文为云计算架构设计群的微课堂原创分享,转载需注明出处:EAII企业架构创新研究院。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复此公众号:“加群姓名公司职位微信号”。大家好,本期微课堂介绍在新一代数字化企业云平台中对于Kubernetes的学习以及使用的总结。
taskbuilder taskbuilder
6个月前
TaskBuilder常见页面前后端数据交互原理解析
TaskBuilder常见页面前后端数据交互原理解析TaskBuilder主要用来开发数据库增删改查的应用,下面以第五章里创建的那个学员管理项目为例,介绍一下在常见的页面里怎么实现前后端数据交互。4.6.1数据列表页面前后端交互原理解析数据列表页面主要通过
Offer收割机
Offer收割机
Lv1
身无彩凤双飞翼,心有灵犀一点通。
文章
3
粉丝
0
获赞
0