Intereting Posts
Изменение цвета фона td на успех или опасность Добавление резервного изображения в цикл специальных настраиваемых полей wordpress Найти каждое воскресенье между двумя датами DatePicker: невозможно установить свойство «currentDay» неопределенного, когда идентификатор нескольких массивов URL-адрес обратного вызова Clickatell для получения сообщений, не работающих Проверка незаполненных полей с помощью PHP Использование .htaccess для изменения показа каталога в URL-адресе Как преобразовать несколько тегов <br/> в один тег <br/> в php Использование PHP для вызова веб-службы WCF с несколькими привязками показать div на форме submit без перенаправления Отображать данные из строки mysql в виде столбца в php получить последний обновленный столбец в mysql Избегайте общей папки laravel и открывайте непосредственно корень на веб-сервере Сообщение: неопределенная переменная: data – CodeIgniter Способ получения всех алфавитных символов в массиве в PHP?

404 Ошибка с Restler для всего URL-адреса

Я пытаюсь создать плагин для создания сервера API для инфраструктуры Oxwall. Я новичок в Restler, но опытный разработчик для платформы Oxwall.

Я получаю следующую ошибку при доступе к URL.

{ "error": { "code": 404, "message": "Not Found" }, "debug": { "source": "Routes.php:383 at route stage", "stages": { "success": [ "get" ], "failure": [ "route", "negotiate", "message" ] } } } 

Oxwall имеет собственные методы маршрутизации и MVC. Ниже описано, как я определил маршрут (cmd – это просто фиктивное значение, чтобы заставить Oxwall считать его действительным для say / * маршрутов)

 OW::getRouter()->addRoute(new OW_Route('service', 'say/:cmd', "OXWALLAPI_CTRL_Api", 'index')); 

Итак, теперь, когда я пытаюсь получить доступ к http://www.mysite.com/say/hello, вы получите ошибку выше 404.

api.php:

 use Luracast\Restler\Restler; class OXWALLAPI_CTRL_Api extends OW_ActionController { public function __construct() { parent::__construct(); $r = new Restler(); $r->addAPIClass('Say'); $r->handle(); } public function index() { } } 

Say.php:

 class Say { function hello($to = 'world') { return "Hello $to!"; } function hi($to) { return "Hi $to!"; } } 

У Oxwall есть собственный файл .htaccess. Я разместил ниже .htaccess в папке плагина.

 Options -MultiViews DirectoryIndex index.php <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^$ index.php [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> <IfModule mod_php5.c> php_flag display_errors Off </IfModule> 

  • Is Say.php в той же папке index.php ?

В противном случае вы должны использовать следующее в классе Say.php, если, например, ваш Say.php находится в Test / Say.php В Say.php write

 <?php namespace Test; use stdClass; //..... the rest of your class 

В index.php вы напишете

 $r->addClass('Test\Say'); 
  • Вы правильно установили файл behat.yml ?

base_url должен указывать на ваш путь index.php