对php REST架构适用接口应用环境的简单理解

PS:HTTP协议中的4中请求方法,一般大家知道最多的是GET、POST,还有不常见的put、DELETE。REST架构正是利用四种方法携带不同参数值请求一个php接口来实现四种不同操作!这不是通过创新的方式产生的,只是通过整合http的请求方法来更方便实现某一类型处理的单一接口形式!

  1. REST是什么

    REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

  2. REST的特点

    1. 网络上的所有事物都被抽象为资源(resource)
    2. 每个资源对应一个唯一的资源标识(resource identifier)
    3. 通过通用的连接器接口(generic connector interface)对资源进行操作;
    4. 对资源的各种操作不会改变资源标识;
    5. 所有的操作都是无状态的(stateless)。
  3. REST的通俗说明

    你可以把它和标准的增删改查模式对应起来:GET=加载/检索(查,select),POST=创建(增,Create),PUT=更新(改,update),DELETE=删除(DELETE)。

    1. 例如GET方法,一般是获取数据,因为GET方法是默认的方法,不会对数据造成改变,所以一般是获取数据,通过GET方法请求上面的接口,就是获取用户数据
    2. 例如POST方法,一般提供数据新增的功能,如果客户端是POST方法,请求上面的接口,那就是告诉服务器,是新增的操作。
    3. 例如PUT方法,一般是更新操作,告诉服务器,更新用户信息。
    4. 例如DEL方法,一般是删除操作。
    5. 通过HTTP的4中请求方法,就可以在同一个接口地址上产生四种不同的请求,对接口的扩展性提供了巨大的帮助。
  4. 网站”用户”例子

            #接口url:"api/users"
            GET request to /api/users – 列举出所有的用户
            GET request to /api/users/1 – 列出ID为1的用户信息
            POST request to /api/users – 插入一个新的用户
            PUT request to /api/users/1 – 更新ID为1的用户信息
            DELETE request to /api/users/1 – 删除ID为1的用户
            

    REST已经解决了很多令人头疼的创建接口的问题,通过一些简单的,容易理解的标准和协议。

  5. php CURL方法

            # curl如何发起DELETE/PUT请求?
            DELETE:
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
            PUT:
            curl_setopt($ch, CURLOPT_PUT, true);
            GET:
            curl_setopt($ch, CURLOPT_HTTPGET, true);
            POST:
            curl_setopt($ch, CURLOPT_POST, true);
            # 可以通过$_SERVER['REQUEST_METHOD']获得请求类型,
            # PUT/DELETE的参数可以这样获取:
            parse_str(file_get_contents('php://input'), $request_vars);
            

    REST已经解决了很多令人头疼的创建接口的问题,通过一些简单的,容易理解的标准和协议。

相关文章
  1. $_GET,$_POST与urldecode的使用风险
  2. yii2框架的错误处理
  3. Yii2过滤器-behaviors()行为调用
  4. 密码保护:PHP多进程编程
  5. 全排列算法原理和实现
  6. PHP静态方法和非静态方法的使用场景
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in php, REST, 编程语言
Comments are closed.