-
路由定义:
框架使用多应用, 默认路由模式; url三部分组成, 格式为: /模块名称/控制器名称/方法名称;
如 /core/Config/lists: 即为平台核心模块/config控制器/lists方法. -
接口请求分类:
接口分为两种类型: 命令型和获取数据型;
命令型接口如添删改接口, 这种接口data字段一般为空数组;
获取数据型如查询接口, 这种接口status值总是1, info字段只是给前端开发人员做个提示, 数据到底是否获取成功, 需要再判断data的值是否为空数组; -
数据提交方式:
框架使用最宽泛的方式, 支持所有的提交方式, 并且不做提交方法的判断. 请求到底是要干什么, 不是根据请求方式进行判断, 而是使用方法名进行判断.
一般情况在后端开发调试过程中, 直接使用GET方式在URL中传参更加方便; 对于前端开发人员, 使用POST和GET方式都可以, 根据实际情况, 以快捷方便为原则进行选择即可(但是在一定程度上要统一, 要封装, 建议全部使用POST);
特殊情况, 比仿说要传递大量数据的, 如text字段/文章正文内容/文件上传等, 酌情处理(POST); -
常用控制器方法命名规范:
-
- 添加/保存: edit
- 查询单条数据: detail
- 分页列表: lists
- 删除: del
- 不分页列表: ls (注意, 当表内数据过多, 比仿说超过50条时谨慎使用, 因为此方法是返回表内所有的数据)
- 查询前20条列表: search
-
数据返回字段格式:
数据返回统一使用JSON格式. 所有接口都包含三个字段. [‘status' : ‘int 状态码’, 'info' : ‘string 信息说明’, 'data' : ‘array/array object 数据集’] -
数据返回字段详细说明:
-
- status: 接口状态, int类型, 值为0, 1, 2, 其它.
命令型接口, 当值为0时表示操作失败, 为1时表示操作成功, 2为token过期, 其它自定义
获取数据型, 执行成功并不意为着能得到数据, 如detail接口返回的status值总是是1, 但是data数据有可能返回空数组. 所以强类型语言下前端在获取数据后, 有可能需要再对data字段进行是否为空数组的判断, 否则会出现用户提示查询成功, 但是没有内容的情况. - info: 接口信息的说明, string类型.
一般情况下这个字段是给用户的操作结果的提示语, 如删除成功删除失败的提示.如果是获取数据, 一般情况下, status值为1时, info字段不用展示给用户, 前端开发时做为提示即可; - data: 接口返回的数据集合, 数组或数组对象.
命令类型接口时, 一般返回空数组, 忽略即可.
获取数据型时, 返回数组或数组对象, 数据格式为三种;
- status: 接口状态, int类型, 值为0, 1, 2, 其它.
-
data字段的三种格式:
-
条数据格式, 返回的是数组对象, 如detail接口, 需要传递要查询的表id
{
"status": 1,
"info": "数据列表",
"data": {
"id": 2,
"name": "普通会员",
"sort": 3
}
}
- 多条数据格式, 返回的是数组对象, 如ls接口; (包含多维数组的情况, 子数组以_child命名, 不再举例)
{
"status": 1,
"info": "数据列表",
"data": [
{
"id": 2,
"name": "普通会员"
},
{
"id": 3,
"name": "VIP会员"
}
]
- 带分页的数据列表格式, 如lists接口, 需要传递p:页码(默认1), page_size:一页多少条(默认后台定义10条)
{
"status": 1,
"info": "数据列表",
"data": {
"page_size": 10, // 分页大小
"count": 2, // 总数量
"list": [ // 数组集
{
"id": 2,
"name": "普通会员",
"sort": 3
},
{
"id": 3,
"name": "VIP会员",
"sort": 5
}
]
}
}
山东艾思软件科技有限公司,是专业的App定制开发, 网站制作企业;为企业提供从软件开发整合运营的一整套方案。App定制开发包括: 办公ERP, OA, CMS, CRM类定制开发, 聊天类APP开发, 电商商城类