REST Easy上的404错误

时间:2014-11-05 13:13:35

标签: php rest slim

我是构建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();

?>

如果我通过浏览器加载网址http://localhost:8080/rest/v1/fname/Test并提供输出

,那么工作正常
  

您好,测试

然而,使用REST Easy插件进行尝试会提供此错误

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 

为什么会这样?我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

$app->get('/fname/:name', function ($name) {

这会匹配/fname/test/fname/foo等网址,但不匹配/fname?test=bar

您在REST插件中仅使用了URL /fname。您没有匹配的路线。因此,要解决此问题,请从插件中调用/fname/test/或创建匹配的路由。

GET参数有一个键和一个值(?foo=bar将产生一个带有键foo和值bar的数组。因此,:name与GET参数匹配是没有意义的。它会选择什么,关键还是价值?哪个,如果有多个?