Phil Sturgeons Rest Server返回412

时间:2014-09-26 02:58:29

标签: php codeigniter rest

好的,另一个API问题。

我的Rest Server中有以下应用程序。

public function hire_get()
{
  echo $_GET['name'];
}

然后我在另一个运行Rest Client的应用程序中有以下内容

public function __construct()
{
    parent::__construct();

    $this->load->library('rest', array(
        'server' => 'https://mywebsite.com/api/',
    ));

}

public function hireRequest()
{
    $response = $this->rest->post('requests/hire?name=MitchEvans');

    echo $response;

    $this->rest->debug();
}

现在,当我通过网络浏览器调用功能hireRequest时,我会得到$this->rest->debug()的结果,如下所示:

它得到No Response,错误为:The requested URL returned error: 412我在代码412中搜索了HTTP请求,并将其称为precondition failed error。这是我的网络服务器吗?我如何解决这个问题或如何解决这个问题?

我认为值得注意的是,如果我直接从这样的网页调用hire_get函数:http://www.mywebsite.com/api/requests/hire?name=My Awesome Name它就可以正常工作并回显My Awesome Name但是它已经过了{{1}}。 ■一旦我尝试通过另一个Web应用程序访问它,它就会给我错误。

即使我将所有内容都切换到帖子,我仍然会收到412错误。

1 个答案:

答案 0 :(得分:0)

您需要将Rest Client呼叫从post更改为get,因为您的Rest服务器功能是hire_get

如果您想要发布数据,则需要将其余服务器更改为hire_post

为Rest服务器提供GitHub页面:

https://github.com/chriskacerguis/codeigniter-restserver

Accessing parameters is also easy. Simply use the name of the HTTP verb as a method:

$this->get('blah'); // GET param
$this->post('blah'); // POST param
$this->put('blah'); // PUT param

大约四分之一的时间阅读我!