2016-10-21 4 views
0

Я использую CodeIgniter 3.1.0, Restserver загруженную из here с документации от here. Я также использую расширение Chrome Почтальон.Codeigniter 3 + Restserver всегда выполняет запрос получить

Проблема заключается в том, что даже если я выбираю POST из выпадающего меню Почтальон, он попадает в метод GET ... Ниже приведен код:

defined('BASEPATH') OR exit('No direct script access allowed'); 
require APPPATH . '/libraries/REST_Controller.php'; 

class Example extends REST_Controller { 
    function __construct() { 
     parent::__construct(); 
    } 
    public function users_get() { 
     echo "get request"; 
    } 
    public function users_post() { 
     echo "post request"; 
    } 
} 

Теперь через Почтальон, если я выбираю ПОЛУЧИТЬ к URL example-domain.com/api/example/users предварительный просмотр прибудет запрос

Если я выбираю POST к тому же URL example-domain.com/api/example/users предварительный просмотр снова запрос прибудет и не сообщения запроса

Я ничего не менять в конфигурации/rest.php и я использовать реализованный пример Restserver в контроллеры/API/например

кто-нибудь знает, почему я не могу ударить метод POST?

+0

Это странно, что он должен автоматически прокладывать маршрут к конкретному почтовому обработчику – Cristian

+0

точно ... и это не мой первый раз, используя CI + Restserver ... это совершенно странно ... – GeorgeGeorgitsis

+0

попытайтесь сделать чистую установку codeigniter и интегрировать библиотеку – Cristian

ответ

0

Наконец-то я нашел причину проблемы. Я ранее установил SSL в этом домене, но я пытался вызвать API с помощью HTTP.

В .htaccess я имел RewriteRule

RewriteRule^https://% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]

, чтобы заставить HTTPS.

Если я делаю запрос POST с HTTPS, он работает как шарм.

Если я делаю запрос POST с HTTP, он перенаправляется на HTTPS (из-за правила перезаписи), поэтому на новую страницу появляется новый запрос GET.

Смежные вопросы