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. Odoo14 一些好用的开源的模块

    # odoo14中一些好用的开源的模块 1.intero_reload_form 刷新按钮(页面数据刷新,而不是按F5刷新整个页面) 2.ms_magic_button 弹框下拉选项 3.sessio ...

  2. java-分支重载以及构造方法

    1:方法的签名: 方法名+参数列表就是一个方法的签名 2.方法的重载(Overload): 1)发生在同一个类中,方法名称相同,参数列表不同 2)编译器在编译时会根据方法的签名自动绑定方法 3.构造方 ...

  3. 监督学习集成模型——AdaBoost

    一.集成学习与Boosting 集成学习是指将多个弱学习器组合成一个强学习器,这个强学习器能取所有弱学习器之所长,达到相对的最佳性能的一种学习范式. 集成学习主要包括Boosting和Bagging两 ...

  4. HCNP Routing&Switching之DHCP安全

    前文我们了解了MAC地址防漂移技术,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16632239.html:今天我们来了解下DHCP安全相关话题: 回顾DHC ...

  5. 第七十篇:Vue组件的使用

    好家伙, 1.vue的组件化开发 1.1.什么是组件? 组件是对UI结构的复用, vue是一个支持组件化开发的前端框架, vue中规定:组件的后缀名是.vue 例如:App.vue文件本质上就是一个v ...

  6. 第四十四篇:Git分支(关键知识点)

    好家伙, GIT分支 分支就像是平行宇宙,两个平行宇宙自己平行,不相干扰,平安无事, 某一天它想不开,合并了.然后就变成了我写这篇博客的动机了. 1.关于Git分支中常用的指令 列出所有分支 git ...

  7. win10电脑自动连接蓝牙设备攻略

    每次在电脑上想连接蓝牙耳机,但不想手动去连接怎么办呢? 自动连接! 其实微软已经解决了这个问题,只要打开蓝牙,他就会自动匹配上次连接的设备 打开设置--->设备勾选 "显示使用&quo ...

  8. Docker日常工作常用命令

    容器生命周期管理 Docker创建新容器并运行[run] 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指 ...

  9. Unity2D-Dash && SpeedUp

    ​ Introduction 原理: 角色位置改变时,每隔一段时间记录角色的位置,然后在记录的位置上放置一个图片,在图片出现之后过一段时间就让图片渐渐消失 简述实现步骤: 1.在Unity中Creat ...

  10. 监控linux多个cpu的负载情况

    监控linux多个cpu的负载情况 top然后按数字键1