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‘);
    }        

...

时间: 2024-10-12 19:25:35

API接口笔记的相关文章

php 快递查询api接口笔记

1 <?php 2 include_once("../includes/global.php"); 3 @include_once("../config/logistics_config.php"); 4 5 $api_id = $logistics_config['logistic_app_id']?$logistics_config['logistic_app_id']:""; 6 $api_sceret = $logistics_co

C++传智笔记(6):socket客户端发送报文接受报文的api接口

#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "string.h" #include "itcast_comm.h" #include "memwatch.h" #include "itcastlog.h" /* 下面定义了一套socket客户端发送报文接受报文的api接口

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

博主今天把API接口管理平台发布到github了,这次是更新一些功能 如支持本地数据库sqlite3.优化了数据结构 技术方面跟之前V1.0相同,只增加生产本地数据:但是为了支持层级的参数,修改了数据结构,下面是新的model.py 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 from app import db 5 6 7 class User(db.Model): 8 user_id = db.Column(db.Integer

开放API接口 笑话、天气、新闻

笑话接口示例: http://api.1-blog.com/biz/bizserver/xiaohua/list.do?maxXhid=1000000&size=1&minXhid=6 开放API接口 笑话.天气.新闻 博客分类: 其它 API新闻笑话天气开放API 闲来无事,弄了几个API接口,分享给同样需(闲的)要(没事儿)的人吧 API接口都是HTTP形式的,数据都是json格式,支持ajax调用(已开放所有域名访问) PS:演示网站http://1-blog.com 使用的人麻烦加

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

原文地址: http://www.cnblogs.com/hnsongbiao/p/5478645.html 写的很好,就做个笔记了.感谢作者! 项目中常用的API接口签名验证方法: 1. 给app分配对应的key.secret2. Sign签名,调用API 时需要对请求参数进行签名验证,签名方式如下: a. 按照请求参数名称将所有请求参数按照字母先后顺序排序得到:keyvaluekeyvalue...keyvalue  字符串如:将arong=1,mrong=2,crong=3 排序为:aro

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

git源码 说明:源码已经全部上传到github,仓库地址: https://github.com/BM-laoli/Node-api-Design 一.大纲 大纲: 关于架构, 首先我们的有一个app.js这个就是根路由起点,用来最初的打入口 它的功能有: 1.1 引入模块创建基础的网站服务器, 1.2 导入bodyPasser,过滤还有处理我们的post请求 1.3 导入数据库连接 1.4 把路由开放出去 再来一个main.js它在我的route文件夹下, 2.1 什么需啊哟再这里做二次拦截

微信小程序的Web API接口设计及常见接口实现

微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们设计和编写Web API平台是非常重要的,通过这个我们可以实现数据的集中控制和管理,本篇随笔介绍基于Asp.NET MVC的Web API接口层的设计和常见接口代码的展示,以便展示我们常规Web API接口层的接口代码设计.参数的处理等内容. 1.Web API整体性的架构设计 我们整体性的架构设计

微信小程序API接口

微信小程序API接口 wx.request(OBJECT)   wx.request发起的是 HTTPS 请求. OBJECT参数说明: url->开发者服务器接口地址->String; data->请求的参数->Object.String; header->设置请求的 header , header 中不能设置 Referer->Object; method->默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE,

百度翻译APi接口实现

案例使用百度翻译API接口,实现文本翻译 为保证翻译质量,请将单次请求长度控制在 6000 bytes以内.(汉字约为2000个) 签名生成方法如下: 1.将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在管理控制台查看) 按照 appid+q+salt+密钥 的顺序拼接得到字符串1. 2.对字符串1做md5,得到32位小写的sign. 注意: 1.请先将需要翻译的文本转换为UTF-8编码 2.在发送HTTP