【接口的理解】
说到接口,它“无处不在”,当打开APP的时候,你会看到一个菊花转啊转啊转呀,
然后加载出来的那些文字、图表、炫酷的动画就是前端ajax通过接口提交数据从后端请求回来的数据。
一个完整的APP项目一般都是由客户端(前端)和服务端(后端)相结合。
接口,就是后端将数据源或数据库提供给外部应用去调用的一段程序。
接口可以完成某个任务,但是它需要有相应的输入(即入参)。在工作中,少不了要定义五花八门的接口。
后端定义好URL,前端按照规定的格式请求它,它就会把数据给你,这就是接口。
前端负责将数据展示给用户并快速响应用户所有的操作(点击、长按、左滑、右滑、下拉刷新等等),
后端则负责将数据在服务器上进行一系列处理(增、删、改、查)后返回给前端。
前端负责拿到数据并处理数据展示出来。
千万不要觉得前端工作简单,不就是写个html页面展示数据,
但是他们需要考虑各种浏览器的兼容性、各种土豪、土鳖等设备适配性,响应式设计、VR、AI、3D效果层出不穷的新概念新挑战,且行且珍惜。
接口四要素:
方法 :Post(增)、Delete(删)、 put(改)、Get(查)
url: /userinfo
请求参数:字段、说明、类型、备注、是否必填
返回参数:code/message/data
看个示例:
{
“code”:200,
“msg”:“成功”,
“time”:“677788888”,
“data”:{“name”:“张三”,“age”:“23”},
}
规范的接口得保证:
要保持好身材,瘦,瘦,瘦!尽量前端不要处理业务逻辑、不进行金额计算、且减少处理请求参数的校验;
要有可拓展性:文章、图片最好由后端来提供;
要可靠安全、性能优化、体验流畅。
在项目进行中,接口联调尤为关键。
接口联调,就是[前后端平心静气、坐在一起校对数据]==[一言不合就开怼、项目一完就吹水。
联调主要是为了解决数据格式问题和数据参数问题。
这里提一下接口文档。
接口文档一般由后端进行编写,需要和前端一起协商补充,注意要沟通、沟通、沟通!
在项目开发过程中,前后端工程师会根据这份文档为主,要共同维护和更新它,直到项目结束。
它可以让前后端工程师围绕一个统一的文档进行沟通交流开发,减少沟通成本;
项目维护中或者项目人员更迭,方便后期人员查看、维护,减少学习成本;
也可一定程度上体现程序猿的表达能力;
通常,前端开发人员和后台开发人员是不同的人。当然,部分种子选手两者兼顾,曰全栈工程师(仰望大神)。
不过,前后端的思维模式不一样,要打造一个全栈工程师,学习成本极高。
我们前面说到了接口可以请求到数据。
对一个页面而言,页面的数据一方面由前端直接写死,也就是静态数据,另一部分需要有后端接口提供,
前端需要从后端请求接口拿到数据并按照要求展示到页面上,比如淘宝的商品列表。
但数据有静态数据和动态数据,有些数据可以由前端写死的,雷打不动。这就是静态数据。
例如某些APP首页下方的那些TAB栏,就是写死的,因为那些TAB基本不会有变化。
类比你去饭店吃饭,你点了个螺狮粉,老板问你要不要辣,你脑子一热就说加辣,
那端上来的肯定是红通通的一端,基本就这样了。如果你觉得辣,那你只能重新点一碗。
优点:减少和服务端进行请求。
缺点:后期如有扩展,要填坑。