Slim Framework One路由不同的方法

时间:2016-01-03 23:47:16

标签: php rest get routes slim

我正在尝试为字典App构建一个简单的REST API。我想有两个GET方法,可以通过id和query(字符串)获取单词。问题是Slim框架通过第一种方法路由所有内容并忽略第二种方法。我明白为什么它这样做,我知道你可以使用查询字符串参数,但我希望有一种方法可以通过这种方式实现它。谢谢你的帮助。

http://localhost:5000/dictionary_api/words/1
$app->get('/words/:id', function($id) use ($app, $db) {
});


http://localhost:5000/dictionary_api/words/hello
$app->get('/words/:word', function($word) use ($app,$db){
});

1 个答案:

答案 0 :(得分:3)

您可以提供一系列条件(正则表达式匹配),以便路由参数仅匹配特定格式。请尝试以下

$app->get('/words/:id', function($id) use ($app, $db)
{
    //
})->conditions(['id' => '[0-9]+']);

这将使:id参数仅匹配数值,不应该匹配任何其他内容并跳到下一个路线。