PHP Slim Framework路由多个和单个资源请求

时间:2016-01-02 08:40:46

标签: php api rest slim

我正在尝试在我的Slim应用程序中创建 2路径来处理 单一资源 GET请求。

例如:

/ surveys 将返回所有调查

/ surveys / 3 将返回ID为3的调查

但是,以下内容会产生服务器错误:

$app->get('/surveys', function ($request, $response, $args) {

     // Code here

});

$app->get('/surveys/{id}', function ($request, $response, $args) {

     // Code here

});

任何想法我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:1)

我会用以下方式写这个:

$app->group('/surveys', function () use($app) {
     $app->get('', function () {

          // Endpoint for '/surveys'

     });

     $app->get('/{id}', function ($id) {

          // Endpoint for '/surveys/{id}'

     });
});

答案 1 :(得分:0)

问题在于我有第三条路线:

$app->get('/surveys/count', function ($request, $response, $args) {

    // code here

});

我没有理会,但它正在弄乱第二条路线,其中{id}正在行进“计数”字。由于我没有启用错误处理程序(感谢Davide Pastore),我找不到问题所在。

我将第二条路线更改为:

$app->get('/surveys/{id:[0-9]+}', function ($request, $response, $args) {

    // code here

});

现在一切正常!

感谢您的帮助!