首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >restserver和restclient如何在CodeIgniter中协同工作

restserver和restclient如何在CodeIgniter中协同工作
EN

Stack Overflow用户
提问于 2015-06-03 16:16:43
回答 1查看 5.1K关注 0票数 0

如何设置它--我读了教程http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter-2--net-8814。但是我无法理解这个想法,我想要更多的细节。我对CodeIgniter和API非常陌生。

我从nettuts文章中执行了以下步骤

  • 下载restclient和restserver及curl
  • 我试着从rest服务器运行示例,它没有向我显示任何东西。我加载自己的控制器和方法。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-13 12:13:32

REST服务器:

这是侦听客户端(restClient)请求的服务器。RESTServer有请求方法: POST()

得到()

放()

删除()

当您从index_put();调用它时,请记住,您可以这样称呼它:

代码语言:javascript
复制
$this->index();

代码语言:javascript
复制
$this->index_put(); //because restserver it self recognize the nature of request through header.

下面是一个简单的例子:

RESTClient:

代码语言:javascript
复制
function request_test() {
        $this->load->library('rest', array(
            'server' => 'http://restserver.com/customapi/api/',
             //when not use keys delete these two liness below
            'api_key' => 'b35f83d49cf0585c6a104476b9dc3694eee1ec4e',
            'api_name' => 'X-API-KEY',
        ));
        $created_key = $this->rest->post('clientRequest', array(
            'id' => '1',
            'CustomerId' => '1',
            'amount' => '2450',
            'operatorName' => 'Jondoe',
        ), 'json');
        print_r($created_key);
        die;

    }
  • 确保加载了rest库。

RESTSERVER:

代码语言:javascript
复制
<?php
require APPPATH . '/libraries/REST_Controller.php';

class api extends REST_Controller {
  public function clientRequest_post() {
    //to get header 
    $headers=array();
    foreach (getallheaders() as $name => $value) {
        $headers[$name] = $value;
    }
    //to get post data
    $entityBody = file_get_contents('php://input', 'r');
    parse_str($entityBody , $post_data);

    //giving response back to client 
    $this->response('success', 200);


  }
}

配置config/Rest.php

代码语言:javascript
复制
 //if you need no authentication see it's different option in the same file
    $config['rest_auth'] = false;

 //for enabling/disabling API_KEYS
$config['rest_enable_keys'] = FALSE;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30625499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档