Ошибка 404 на REST Easy

0

Я новичок в создании restful php-приложений и, как таковой, пытался что-то простую, вот мой php-код

<?php

require '../Slim/Slim.php';
\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim();
$app->get('/fname/:name', function ($name) {
    echo "Hello, $name";
});
$app->run();

?>

Это прекрасно работает, если я загружаю URL http://localhost:8080/rest/v1/fname/Test через браузер и выдает вывод

Привет, Тест

Однако пробовать его с помощью REST Easy plugin предоставляет эту ошибку

Status

404 Not Found

Headers
Name    Value   
Date    Wed, 05 Nov 2014 10:51:02 GMT
Server  Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.5.15
X-Powered-By    PHP/5.5.15
Content-Length  524
Keep-Alive  timeout=5, max=100
Connection  Keep-Alive
Content-Type    text/html 

Почему это происходит? Что я здесь делаю неправильно?

Теги:
rest
slim

1 ответ

0
Лучший ответ
$app->get('/fname/:name', function ($name) {

Это будет соответствовать URL-адресам, например /fname/test и /fname/foo, но не /fname?test=bar

Вы использовали только URL /fname в своем плагине REST. У вас нет подходящего маршрута для этого. Чтобы исправить это, вызовите /fname/test/ из вашего плагина или создайте соответствующий маршрут.

Параметры GET имеют ключ и значение (?foo=bar приведет к массиву с ключом foo и bar значений). Поэтому не имеет смысла, что ваш :name соответствует параметру GET. Что бы он выбрал, ключ или ценность? И что, если их несколько?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню