好的,另一个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错误。
答案 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
大约四分之一的时间阅读我!