Хорошо, еще один вопрос по API.
У меня есть следующее на моем сервере отдыха с одним приложением.
public function hire_get()
{
echo $_GET['name'];
}
И тогда у меня есть следующее в другом приложении, которое работает клиент Rest
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
но однажды я пытаюсь получить к нему доступ через другое веб-приложение, которое выдает ошибку.
Даже если я переключаю все на сообщение, я все равно получаю ошибку 412.
Вам нужно изменить свой звонок Rest Client с post
к get
так как ваша функция Rest Server является hire_get
Если вы хотите разместить данные вместо этого, ваш сервер отдыха должен быть изменен на hire_post
Ссылка на страницу 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
Примерно четверть пути вниз по Read Me!
Других решений пока нет …