RESTful架构

REST原则( Representational State Transfer 资源表现层状态转化)
我的API设计规范 - 图1

我的API架构图

我的API设计规范 - 图2

token 身份认证方案

我的API设计规范 - 图3

网络参考
考虑到安全问题,Api接口分成两大类:通用Api和后台Api。
通用Api存放在Api\Controller\目录下,所有通用Api都继承于Common\Controller\CommApiController类;
后台Api存放在SystemApi\Controller\目录下,所有的后台Api都继承于Common\Controller\SystemApiController类。

权限验证及安全问题
由于接口是可以被外部调用的,所以编写的时候要特别注意权限验证和安全问题。只有登录后才能调的接口要在方法里先调用$this->checkUserLogin()作登录检测。涉及安全的数据要从session里取值,不能通过传参的方式传值!

返回值
Api接口有两种返回类型:跳转或者json数据输出。
接口可以根据需要不做输出而直接跳转。
json输出必须包含code、msg和data这三个内容。

注意事项
接口是按要操作的数据对象进行分类和封装的,不是按模块分类,比如User类接口,存放的就应该是跟用户相关的接口。

Api接口中不能包含太多业务逻辑的代码,业务逻辑要封装到服务接口中供接口直接调用。