基于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;
        }
    }

}
时间: 2024-10-10 19:54:55

基于RESTful下的api的相关文章

WebApi系列~基于RESTful标准的Web Api

WebApi系列~基于RESTful标准的Web Api 回到目录 微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下: GET:生到数据列表(默

Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_rewrite.so 将其前面的#去掉,如果没有找到则添加进去. 找到一下代码 <Directory "C:/phpStudy/Apache/cgi-bin"> AllowOverride All Options None Require all granted </Di

基于RESTful标准的Web Api

微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下: GET:生到数据列表(默认),或者得到一条实体数据 POST:添加服务端添加一条记录,记录实

前端调用后端的方法(基于restful接口的mvc架构)

1.前端调用后台: 建议用你熟悉的一门服务端程序,例如ASP,PHP,JSP,C#这些都可以,然后把需要的数据从数据库中获得,回传给客户端浏览器(其实一般就是写到HTML中,或者生成XML文件)然后在用JS获得. 2.js只是前端的语言,它还没有访问数据库的能力.不过它可以向某个URL发送请求,并获得返回的数据.这个会用到Ajax技术. 用AJAX,页面不刷新,只提交字符串到后台导入数据库       通过纯AngularJS+REST API构建Web是否可行? 在构建Web系统的时候,可不可

基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的rest服务,通常这些服务要不就是用于手机app的开发,要不就是提供给第三方开发者使用,不管哪种情况,你都需要提供详细的说明给别人,而Swagger就是为这种情况而生的,通过在接口上的注解,生成可供第三方模拟测试和阅读的接口列表,既美观又使用,真是行走江湖之必备良药. [XmPlatform原创,转载的

使用Go构建RESTful的JSON API

原文地址http://thenewstack.io/make-a-restful-json-api-go/ 这篇文章不仅仅讨论如何使用Go构建RESTful的JSON API,同时也会讨论如何设计好的RESTful API.如果你曾经遭遇了未遵循良好设计的API,那么你最终将写烂代码来使用这些垃圾API.希望阅读这篇文章后,你能够对好的API应该是怎样的有更多的认识. JSON API是啥? 在JSON前,XML是一种主流的文本格式.笔者有幸XML和JSON都使用过,毫无疑问,JSON是明显的赢

区块链中的RESTFUL链码调用API原理详解

本文适合于熟悉开源区块链技术Hyperledger Fabric,以及希望更高效地使用华为云区块链服务的读者.当然,也欢迎任何对区块链技术有兴趣的读者阅读本文,相信读者们都能从中受益. 2018年2月1日 华为云发布企业级区块链开放平台区块链服务BCS(Blockchain Service),是基于开源区块链技术和华为在分布式并行计算.数据管理.安全加密等核心技术领域多年积累基础上推出的企业级区块链云服务产品,旨在帮助各行业.企业在华为云上快速.高效的搭建企业级区块链行业方案和应用. 如前所述,

MockMVC - 基于RESTful风格的SpringMVC的测试

MockMVC - 基于RESTful风格的SpringMVC的测试 对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求.基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从URL请求到控制器处理,再到视图渲染都可以测试. package test.example.controller; import com.DemoApplication; import com.example.enti

PHP实现RESTful风格的API实例(一)

(关于Yii2的RESTful教程请看: Yii2框架RESTful API教程) 最近看了一些关于RESTful的资料,自己动手也写了一个RESTful实例,以下是源码 目录详情: restful/ Request.php 数据操作类 Response.php 输出类 index.php 入口文件 .htaccess 重写url Request.php :包含一个Request类,即数据操作类.接收到URL的数据后,根据请求URL的方式(GET|POST|PUT|PATCH|DELETE)对数