您的位置:首页 > 理论基础 > 计算机网络

http前后端接口设计的感想总结

2018-08-29 11:12 447 查看
首先,看了很多restful的规范,但是有些东西跟我们现在做的项目是有点出入的,例如说到要用delete,get,post,add等,实际上我们只用了post,还有说到规范的话,url里面不能有动词,实际上我们的url类似这样的:http://xxx.com/users/login这样的,就是资源后面跟要对这个资源做什么的动词。自从我们家架构师用了spring boot之后,我们部门的接口设计更加有自己的一套了,不是以前的乱来命名,也不太跟网上说的规范相同,但是倒是很容易理解。

接口url:

以【http://xxx.com/api/module/user/getListByConditions】为例

http://xxx.com】应用域名

【api】表明这是api,而不是其他app或者应用

【module】功能点名称,根据不同的模块去分发到不同的处理

【user】具体要操作的资源名称,例如user是用户信息,device是设备信息

【get_list_by_conditions】具体要怎么操作资源,例如get_list_by_conditions就是按条件查询的意思,add就是添加这个资源的意思。此乃动词,与网络上写的大部分规范都不同

入口参数

我们家入口参数都是json字符串,参数到达服务端需要进行一次转换,转换成具体的json对象或者其他定义好的Object类,再进行处理

返回结果

{
code:200,
message:"...",
error:"...",
data:{
total_page:1,
total_size:2,
users:[
{...},
{...},
...
]
}
}

【code】返回码:系统内部约定好的返回是否报错,或者错误是什么的码,具体会在接口文档中声明码的说明
【message】返回的说明,给前端提示用
【error】具体的报错说明
【data】返回的结果具体数据,内部可以嵌套任何json结构信息,给前端提供数据

sessionID
用户登录后系统返回sessionID,前端将session进行缓存,之后系统的所有请求都会将sessionID携带在头部,服务端每次都验证sessionID,若无效则不处理该请求,以保安全性。

我觉得我们家的架构师确实可以,因为叫我独立思考出这堆东西我其实是做不到的T。T。。。可能也是看的代码不够多的原因,还是要多多学啊~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Spring Boot