记录一下编写接口代码时个人的一些见解
如今PHP攻城狮都由原来的网站制作,转变成纯服务端的接口开发。以前的苦逼搬砖生涯结束,开始放飞自己。
经手的项目多了之后,总能在其中发现一些槽点或值得学习的亮点。在此记录一下,并作长期更新。
一、Linux哲学:没有消息就是最好的消息
在设计接口状态标识的时候,非常适用Linux哲学: 没有消息就是最好的消息!
// 接口的返回永远都是固定格式
// 成功返回
{
code: 0,
data: [接口返回的数据],
msg: '相应的提示'
}
// 一般错误返回
{
code: 1,
data: [],
msg: '错误提示'
}
当code等于0时,说明接口调用成功。而当code不等于0时,就是各种自定义的错误。 成功只有一种,而错误却是千奇百怪。(大部分人都习惯与1代表真,0代表假的方式使用)
不应该使用网络请求的状态码: 200、300、400、500系列作为接口状态标识。 虽然很多人推荐用这种方式,但是我觉得这样会引起混乱,既然这是网络状态就应该在网络层判断好,进入接口数据就应该完全自己定义一套接口状态标识。
二、接口数据全部小写且单词之间使用下划线
接口主要的功能还是调取数据库数据,将数据组装成符合要求的格式返回。既然数据库(MySQL)默认字段是不区分大小写的,所以一般字段命名方式都是小写+下划线。为保持数据一致,所有的数据应当都遵循这一点,避免数据字段名出现驼峰命名。
这一点和代码写作风格不同,写代码可以使用驼峰命名方式,数据传输时则相反,统一小写与下划线,不管是做对比,还是取数据都能避免一些错误。