1.基类

    定义返回信息

    protected $user;                  //用户表
protected $token; //用户token
protected $isSuccess = FALSE; //状态是否成功
protected $msg = '操作成功'; //返回给开发者的数据
protected $Usermsg; //返回给用户的数据
protected $api_code; //接口名
protected $code = 0; //状态码
protected $results; //返回数据

  

定义返回成功的快捷信息

// 输出正确数据
public function restSuccess($msgCode = '0|操作成功')
{
$this->isSuccess = True;
$messageCode = explode('|',$msgCode);
@$this->code = $messageCode[0];
@$this->msg = $messageCode[1];
unset($messageCode);
}

定义返回失败的快捷信息

  // 输出错误数据
public function restError($msgCode = '1|服务器繁忙|输入数据有误')
{
$this->isSuccess = False;
$messageCode = explode('|',$msgCode);
$this->code = $messageCode[0];
@$this->Usermsg = $messageCode[1];
@$this->msg = $messageCode[2];
unset($messageCode);
}

定义整合的返回信息

// 整体输出返回数据
public function response()
{
$data['api_code'] = $this->api_code;
$data['code'] = $this->code;
$data['isSuccess'] = $this->isSuccess;
$data['msg'] = $this->msg;
$data['Usermsg'] = $this->Usermsg;
$data['results'] = $this->results;
return $data;
}

API健壮性

 // 检测设备
private function checkDevice()
{
if(!isMobile()){
$this->restError(config('errorMsg.notMobile'));
echo json_encode($this->response());
exit();
} } //检测请求方式
private function checkMethod()
{
if(!$this->request->isPost()){
$this->restError(config('errorMsg.notMethod'));
echo json_encode($this->response());
exit();
}
}

定义构造方法,使用TP5内置方法

public function _initialize()
{
parent::_initialize(); $this->api_code = input('api_code'); $this->checkDevice(); // 检查设备
$this->checkMethod(); //检测请求方式
$this->checkLogin(); //检测登录
//$this->checkApi(); // 检测APi
}

2.缓存

// 浏览帖子
public function index()
{
$info = cache('postindex');//查找缓存 if(!$info){//如果缓存没有数据
$list = new Mpost;//查找数据库
$info = $list->i_ndex();
cache('postindex',$info,3600);//设置缓存
}
$this->assign('arr', $info);
return view('postd/index');
}

...

API接口笔记的更多相关文章

  1. Flask框架学习笔记(API接口管理平台 V2.0)

    博主今天把API接口管理平台发布到github了,这次是更新一些功能 如支持本地数据库sqlite3.优化了数据结构 技术方面跟之前V1.0相同,只增加生产本地数据:但是为了支持层级的参数,修改了数据 ...

  2. Flask框架学习笔记(API接口管理平台 V1.0)

    今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...

  3. Spring框架学习笔记(9)——API接口设计相关知识及具体编码实现

    最近需要设计一个API服务器,想要把API接口搞得规范一下,就通过网上搜集到了一些资料,以下便是自己的一些理解以及相关的具体实现 本文采用的是spring boot+maven的方案 restful规 ...

  4. 转载-常用API接口签名验证参考

    原文地址: http://www.cnblogs.com/hnsongbiao/p/5478645.html 写的很好,就做个笔记了.感谢作者! 项目中常用的API接口签名验证方法: 1. 给app分 ...

  5. 常用精品API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  6. 常用API接口汇总

    下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...

  7. 【转载】常用精品API接口汇总

    原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...

  8. 从零开始搭建.NET Core 2.0 API(学习笔记一)

    从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...

  9. Node教程——API接口开发(MangoDB+Express)

    一.大纲 大纲: 关于架构, 首先我们的有一个app.js这个就是根路由起点,用来最初的打入口 它的功能有: 1.1 引入模块创建基础的网站服务器, 1.2 导入bodyPasser,过滤还有处理我们 ...

随机推荐

  1. 协程 && 异步例子

    # 异步redis # 在使用python代码操作redis的时候,连接.操作.断开都是网络IO. # 安装aioredis模块: pip install aioredis==1.3.1 # 例: 该 ...

  2. 11中javascrip教程教不到的小技巧

    1.过滤唯一值 Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使用它来创建一个新数组,该数组只有唯一的值. 1 const array = [1, 1, 2, 3, 5, 5, 1 ...

  3. Changes in GreatSQL 5.7.36 (2022-4-7)

    目录 1.新增特性 1.2 新增MGR角色列 1.2 采用全新的流控机制 1.3 新增MGR网络开销阈值 1.4 调整MGR大事务限制 2.稳定性提升 3.性能提升 4.bug修复 文章推荐: 关于 ...

  4. MySQL金融应用场景下跨数据中心的MGR架构方案(1)

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 0. 内容提纲 运行环境 部署MGR A&B 部署MGR A.B之间的复制通道 几个注意事项 如何在多个数据中心部 ...

  5. PHP 获取数组长度

    count()函数,默认是获取一维数组,参数为:COUNT_NORMAL,添加第二个参数:COUNT_RECURSIVE,则可以获取多维关联数组的长度(意思为递归获取),例如:count($arr, ...

  6. Scala中使用 Jackson API 进行JSON序列化和反序列化

    1.  什么是 Json 序列化 和 反序列化 序列化 => 将 Java对象 转换成 json字符串反序列化 => 将 json字符串 转换成 Java对象 2. 依赖包 说明 < ...

  7. Apache DolphinScheduler 社区呼唤志愿者

    DolphinScheduler是什么? Apache DolphinScheduler 是一个分布式.易扩展并带有强大的可视化界面的大数据工作流调度系统. 2021 年 03 月 18 日正式成为 ...

  8. PerfView专题 (第十一篇):使用 Diff 功能洞察 C# 内存泄漏增量

    一:背景 去年 GC架构师 Maoni 在 (2021 .NET 开发者大会) [https://ke.segmentfault.com/course/1650000041122988/section ...

  9. ABC209F. Deforestation——DP(、数学容斥)

    题面 有 n n n 棵树排成一排,每棵树高度为 h i ( i ∈ [ 1 , n ] ) h_i~(i\in[1,n]) hi​ (i∈[1,n]) ,你现在要按照一个排列 P P P 的顺序去砍 ...

  10. 【MySQL】从入门到掌握4-主键与Unique

    上期:[MySQL]从入门到掌握3-WorkBench 第一章:主键 在实际开发中,我们不会使用用户名字当作主键.   因为当我们用数据库记录学生信息的时候,学生有可能重名! 我们一般会使用是个int ...