gpt4 book ai didi

php - CodeIgniter 将 POST 数据从 RestClient 传递到 RestServer API

转载 作者:IT王子 更新时间:2023-10-29 00:12:44 26 4
gpt4 key购买 nike

我花了一整天的时间试图找出这个问题。在这里发布这个问题是我最后的希望。我希望有人能帮助我继续从事第一份工作。

因此,当直接将数据从我的 View 直接传递到 RestServer 时,POST 工作正常。但是,RESTServer API 无法找到从 RestClient 发送的 POST 数据。

以下是片段:

RestClient API:

$ver = 'v1';
$config = array('server' => base_url()."v1",
'api_key' => 'xxxxxx',
'api_name' => 'X-API-KEY',
'http_user' => 'admin',
'http_pass' => 'xxxxx',
'http_auth' => 'basic',
);

$this->rest->initialize($config);
$this->rest->format('application/json');
$param = array(
'id' => $this->input->post('id'), // works fine here
'name' => $this->input->post('name')
);
$user = $this->rest->post('employer/postNewProject', $param, 'json');


//if (isset($user->errors)) show_404('admin');
$this->rest->debug();

休息服务器接口(interface)

class Employer extends REST_Controller
{
public function __construct()
{
parent::__construct();
$this->lang->load("application");
$this->load->library("users/auth");
Datamapper::add_model_path( array( APPPATH."modules" ) );
}

public function postNewProject_post()
{
// I tired $this->post() and $this->input->post() but both not finding the data
$message = array("id" => $this->post("id"), "name" => $this->input->post("name"));
$this->response($message, 200); // 200 being the HTTP response code
}
}

结果:

Response when using $this->post('id');
{"id":false}

Response when using $this->post();
{"id":[]}

注意:我已经用硬编码数据替换了 POSTS 请求,但 RestServer 仍然无法从我的 RestClient 接收数据。

如果您需要我提供任何其他信息,请询问。

提前谢谢你。

最佳答案

使用此方法使用 post 方法将 Rest 客户端数据发送到 Rest 服务器。阅读每一行的评论

// initialize you setting 
$config = array('server' => base_url() . "v1",
'api_key' => 'xxxxxx',
'api_name' => 'X-API-KEY',
'http_user' => 'admin',
'http_pass' => 'xxxxx',
'http_auth' => 'basic',
);
$this->rest->initialize($config);
// Set method of sending data

$method = 'post';
// create your param data

$param = array(
'id' => $this->input->post('id'), // works fine here
'name' => $this->input->post('name')
);
// url where you want to send your param data.

$uri = 'employer/postNewProject';
// set format you sending data
$this->rest->format('application/json');

// send your param data to given url using this

$result = $this->rest->{$method}($uri, $params);

// Controller 代码 employer/postNewProject

Controller

function postNewProject()
{
$data=array(
'id' => $this->post('id'),
'name' => $this->post('name')
);
print_r($data);
}

关于php - CodeIgniter 将 POST 数据从 RestClient 传递到 RestServer API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com