IT修真院·小课堂丨互联网职业小课堂在线学习平台

课堂课题:

为什么要写假数据,前后端联调的时候,应该什么时候商定接口文档,接口文档应该谁来维护,如果不提供假数据,会发生什么问题?

关联任务:

任务五

直播时间:

2019-01-15 16:30:00


课堂内容:

视频链接:

PPT链接:

提交按钮:

小课堂内容格式


标题:

【修真院xx(职业)小课堂】课题名称

开场语:

大家好,我是IT修真院XX分院第X期的学员XX,一枚正直纯洁善良的XX程序员,今天给大家分享一下,修真院官网XX(职业)任务X,深度思考中的知识点——XXX

(1)背景介绍:

背景介绍的时候,尽可能的要宽广,讲清楚来龙去脉,讲清楚为什么会需要这个技术。

(2)知识剖析:

讲知识点的时候,尽可能的成体系,学会成体系的去给别人介绍知识。现在很多做的都是零散的,没有分类。

(3)常见问题:

最少列出1个常见问题。

(4)解决方案:

写清楚常见问题的解决方案。

(5)编码实战:

尽可能的去寻找在真实项目中在用的。如果你能找到某个网站在用你说的知识点,这是最好的。学以致用,否则当成练习题就没有意义了。多准备一些demo,讲解过程中将知识点和demo结合,便于大家理解所讲解的知识点。

(6)拓展思考:

知识点之外的拓展思考,由分享人进行讲解,这些东西就是所谓的深度,也是一个人技术水准高低比较的表现。

(7)参考文献:

引入参加文献的时候,在引用的句子后面加上序号【1】。参考文献中列出详细来源。不要去抄别人的东西,这是一个基本的态度。

(8)更多讨论:

Q1:提问人:问题?
A1:回答人(可以是分享人,也可以是其他学员):回答
Q2:提问人:问题?
A2:回答人(可以是分享人,也可以是其他学员):回答
Q3:提问人:问题?
A3:回答人(可以是分享人,也可以是其他学员):回答

(9)鸣谢:

感谢XX、XX师兄,此教程是在他们之前技术分享的基础上完善而成。

(10)结束语:

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

为什么要写假数据,前后端联调的时候,应该什么时候商定接口文档,接口文档应该谁来维护,如果不提供假数据,会发生什么问题?     中品

辅导师兄 [郑州|结业弟子]JAVA-张泉良


大家好,我是IT修真院郑州分院第12期的学员李雨航,一枚正直纯洁善良的后端程序员,今天给大家分享一下,修真院官网java(职业)任务3,



深度思考中的知识点——为什么要写假数据,前后端联调的时候,应该什么时候商定接口文档,接口文档应该谁来维护,如果不提供假数据,会发生什么问题?


1.背景介绍

什么是假数据?

在一个新项目的开发中,允许的开发时间都比较短,需要前后端同时进行开发。

后端开发不依赖前端,技术水平决定开发用时。但前端不同,静态页面可以独立开发,但动态页面的开发依赖于后端提供的数据。

如果前端脱离后端的数据支持, 自己埋头干的话,到项目发布前肯定会有一大堆的改动;而开发时间有限,不允许等到后端接口完成开发后前端再进行开发调试。

当我们做好了客户端的开发,为了从服务器获取数据,就要从后台调用接口进行json解析。由于没有数据库,但还是要测试的时候,就需要假数据来实现这部分的功能。


2.知识剖析

提供假数据的原则


模拟假数据,不是模拟垃圾数据。

假数据仅仅是指数据不真实,并不代表着数据可以随便填。

模拟数据的时候要保证数据的多样性:

1.是要尽可能的模拟正常使用的情况;

2.是要尽可能的模拟异常的情况。


这时候就需要用到接口文档了

那么什么是接口文档呢?

在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护。


接口规范是什么?

首先接口分为四部分:方法、uri、请求参数、返回参数

1、方法:新增(post) 修改(put) 删除(delete) 获取(get)


2、uri:以/a开头,如果需要登录才能调用的接口(如新增、修改;前台的用户个人信息,资金信息等)后面需要加/u,

即:/a/u;中间一般放表名或者能表达这个接口的单词;get方法,如果是后台通过搜索查询列表,那么以/search结尾,如果是前台的查询列表,以/list结尾;url参数就不说了。


3、请求参数和返回参数,都分为5列:字段、说明、类型、备注、是否必填

字段是类的属性;说明是中文释义;类型是属性类型,只有String、Number、Object、Array四种类型;备注是一些解释,或者可以写一下例子,比如负责json结构的情况,

最好写上例子,好让前端能更好理解;是否必填是字段的是否必填。


4、返回参数结构有几种情况:1、如果只返回接口调用成功还是失败(如新增、删除、修改等),

则只有一个结构体:code和message两个参数;2、如果要返回某些参数,则有两个结构体:

1是code/mesage/data,

2是data里写返回的参数,data是object类型;

3、如果要返回列表,那么有三个结构体,1是code/mesage/data,data是object,里面放置page/size/total/totalPage/list 5个参数,其中list是Arrary类型,list里放object,object里是具体的参数。


注意:uri地址里不允许出现大写字母,如果是两个单词拼接,用/分开



3.常见问题


为什么要写接口文档?


1、项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发

2、项目维护中或者项目人员更迭,方便后期人员查看、维护


前后端联调的时候,应该什么时候商定接口文档,接口文档应该谁来维护?



看这张图,基本应用应该是产品经理拿出原型图,有前后端共同设计和商议接口文档,后面样式和数据结合,就成了一个完整的项目



4.编码实战


5.扩展思考


如何合理设计接口?


一、 设计原理

1. 深入了解需求:从“客户端-接口-数据库”的层次上看,接口明显扮演着承上启下的角色,一方面要明白接口要什么数据,另一方面要考虑如何从数据库获取、组织数据。

所以如果不了解需求,你就无法正确抽象对象来组织数据给客户端,也无法验证数据库的数据结构能否满足需求。


2.了解数据库结构:既然接口要明白如何从数据库获取、组织数据,就当然要了解数据库结构啦。


3.了解客户端原型:了解原型,其实更多是为了帮助你设计接口时需要提供的数据和结构。


二、设计原则


1.充分理由:不是随便一个功能就要有个接口,也不是随便一个需求就要加个接口。每新建一个接口,就要有充分的理由和考虑,无意义的接口不仅增加了维护的难度,更重要是对于程序的可控性的大大降低,接口也会十分臃肿。


2.职责明确:一个接口只负责一个业务功能,比如查询会员,但不要在查询会员的同时还有修改权限等类似的其他业务功能,应该分成两个接口做。


3.高内聚低耦合:一个接口要包含完整的业务功能,而不同接口之间的业务关联要尽可能的小。


4.分析角度明确:设计接口分析的角度要统一明确。否则会造成接口结构的混乱。


5.入参格式统一:所有接口的参数格式要求及风格要统一,不要一个接口参数是逗号分隔,

另一个就是数组;

不要一个接口日期参数是x年x月x日风格,另一个就是x-x-x


6.状态及消息:提供必要的接口调用状态信息。调用是否成功?如果失败,那么失败的原因是什么。这些必要的信息必须要告诉给客户端。


7.控制数据量:一个接口返回不应该包含过多的数据量,过多的数据量不仅处理复杂,对数据传输的压力也非常大,会导致客户端反应缓慢。过多的数据量很多时候都是接口划分不明确。


6.参考文献

https://blog.csdn.net/xcymorningsun/article/details/54631027


7.更多讨论

  1. 前端请求数据URL由谁来写?


在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查询参数也就是URL请求的参数。


2.前端开发的后台交互原理?


在项目的时候,我们前后端会大概说一下接口地址,前端请求的参数,后端返回的参数,然后大家就开始写,写的差不多的时候,大家调一下接口看一下返回的数据,没问题就可以了。


3.前端应该告知后台哪些有效信息,后台才能返回前端想的数据的呢?


先将要展示的页面内容进行模块划分,将模块的内容提取出来,以及方便前端的一些标志值等,将所有想要的内容和逻辑告知后端,后端就会去数据库里面去查找相应的数据表中去获得相应的内容,或者图片地址信息。

URL中的参数主要是根据后台需要,

如果后台需要一个参数作为查询的辅助条件 前端在URL数据请求时就传递参数。

参数前面?

几个参数中间&

分享到此结束


评论

[郑州|结业弟子]JAVA-张泉良 发表于 2019-01-19 19:21:13 #1

那如何规范入参和出参的格式呢?或者说怎么做到返回统一的类型(包括必要的信息)?

回复

请您登录 后进行评论