API接口笔记
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接口笔记的更多相关文章
- Flask框架学习笔记(API接口管理平台 V2.0)
博主今天把API接口管理平台发布到github了,这次是更新一些功能 如支持本地数据库sqlite3.优化了数据结构 技术方面跟之前V1.0相同,只增加生产本地数据:但是为了支持层级的参数,修改了数据 ...
- Flask框架学习笔记(API接口管理平台 V1.0)
今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...
- Spring框架学习笔记(9)——API接口设计相关知识及具体编码实现
最近需要设计一个API服务器,想要把API接口搞得规范一下,就通过网上搜集到了一些资料,以下便是自己的一些理解以及相关的具体实现 本文采用的是spring boot+maven的方案 restful规 ...
- 转载-常用API接口签名验证参考
原文地址: http://www.cnblogs.com/hnsongbiao/p/5478645.html 写的很好,就做个笔记了.感谢作者! 项目中常用的API接口签名验证方法: 1. 给app分 ...
- 常用精品API接口汇总
下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...
- 常用API接口汇总
下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送.音乐.云.语义识别 ...
- 【转载】常用精品API接口汇总
原文链接戳这里~~ 下面列举了100多个国内常用API接口,并按照 笔记.出行.词典.电商.地图.电影.即时通讯.开发者网站.快递查询.旅游.社交.视频.天气.团队协作.图片与图像处理.外卖.消息推送 ...
- 从零开始搭建.NET Core 2.0 API(学习笔记一)
从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...
- Node教程——API接口开发(MangoDB+Express)
一.大纲 大纲: 关于架构, 首先我们的有一个app.js这个就是根路由起点,用来最初的打入口 它的功能有: 1.1 引入模块创建基础的网站服务器, 1.2 导入bodyPasser,过滤还有处理我们 ...
随机推荐
- 【原创】Auto.js get和post 案例
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! Auto.js get和post 案例 ...
- [护网杯 2018]easy_tornado-1|SSTI注入
1.打开之后给出了三个连接,分别查看下三个连接内得信息,结果如下: 2.url中参数包含一个文件名与一串应该是md5得加密的字符串,文件名已经获得了,就需要获取加密得字符串,但是加密字符串时需要使用到 ...
- 60行自己动手写LockSupport是什么体验?
60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工具就是LockSupp ...
- 2步就可以压缩PPT大小,再也不怕C盘飘红了!
在座哪位小朋友的C盘已经红了,举个手让我看看! 嗯......还真不少啊! 经常做PPT的同学已经开始抱怨了:领导给的图片一张就10M起,一个PPT里面百来张图,文件大小都快1个G了. 如果是文秘岗, ...
- 【java】学习路线10-权限修饰符详解
/*关于修饰符:类:public default public protected default privatesame class √ ...
- 第七十七篇:ref引用(在vue中引用组件实例)
好家伙, 为方便理解, 我们先来写一个经典自增一按钮, 再加上一个count清零按钮, Left.vue组件中: <template> <div > <h1>我是L ...
- HashMap不安全后果及ConcurrentHashMap线程安全原理
Java集合HashMap不安全后果及ConcurrentHashMap 原理 目录 HashMap JDK7 HashMap链表循环造成死循环 HashMap数据丢失 JDK7 Concurrent ...
- python一招完美搞定Chromedriver的自动更新
日常的web自动化过程中,我们常常用python selenium库来操纵Chrome浏览器实现网页的自动化.这其中有个比较头疼的问题:Chrome的更新频率非常频繁,与之对应的Chromedrive ...
- Reactor And Gev 详解 通俗易懂
reactor 详解 在类似网关这种海量连接, 很高的并发的场景, 比如有 10W+ 连接, go 开始变得吃力. 因为频繁的 goroutine 调度和 gc 导致程序性能很差. 这个时候我们可以考 ...
- ProxySQL 配置MySQL节点
转载自:https://www.jianshu.com/p/ca1b78b5d615 可以在mysql_servers表和mysql_replication_hostgroups表(可选)中配置后端的 ...