我正在尝试为字典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){
});
答案 0 :(得分:3)
您可以提供一系列条件(正则表达式匹配),以便路由参数仅匹配特定格式。请尝试以下
$app->get('/words/:id', function($id) use ($app, $db)
{
//
})->conditions(['id' => '[0-9]+']);
这将使:id
参数仅匹配数值,不应该匹配任何其他内容并跳到下一个路线。