基于RESTful下的api

//持续更新中。。。

1.RESTful架构:每一个网址代表一个资源,相比较于传统的路由规则,rest不能有动词,所用的名词与数据库表名对应。

2.服务端返回的数据类型为json格式

 

//用curl函数模拟post提交

//$post_data 传入数据应该包含但前时间(用于制作token),app_key /app_id.

//$token=MD5(MD5(键值键值).MD5(标识))

 

2.服务端响应<?php/**

 * Created by PhpStorm.
 * User: THINK
 * Date: 2017/9/25
 * Time: 10:43
 */


namespace Home\Controller;
use Think\Controller\RestController;


class UserController extends RestController
{
    public function lists(){
    //获取post提交信息
    //生成token
    // 与传入token对比,不符合返回报错信息
//模拟post.get提交
switch($this->_method){ case 'get': echo 'check all user'; break; case 'post': if(time()-I('post.timestamp') > 5){ $data = array( 'code'=>'302', 'mes'=>'超时', 'datas'=>array() ); echo json_encode($data); exit; } if(I('post.app_key')=='lol'){ $data = array( 'code'=>'200', 'mes'=>'信息调用成功', 'datas'=>array( array('username'=>'1', 'password'=>'123'), array('username'=>'2', 'password'=>'123'), array('username'=>'3', 'password'=>'123'), ) ); }else{ $data = array( 'code'=>'301', 'mes'=>'参数不正确', 'datas'=>array() ); } echo json_encode($data); break; } } //模拟put和delete提交 public function show(){ switch($this->_method){ case 'get': echo 'check id=',I('get.id'),' user'; break; case 'put': echo "update id=",I('put.id')," user"; break; case 'delete': echo "delete id=",I('delete.id')," user"; break; } } }

 

posted @ 2017-09-25 20:56  spritphp  阅读(129)  评论(0编辑  收藏  举报