【问题标题】:Slim Framework One route different methodsSlim Framework 一条路线不同的方法
【发布时间】:2016-04-07 13:59:25
【问题描述】:

我正在尝试为字典应用程序构建一个简单的 REST API。我想要两个 GET 方法,它们可以通过 id 和 query(string) 获取单词。问题是 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){
});

【问题讨论】:

    标签: php rest get routes slim


    【解决方案1】:

    您可以提供一组条件(正则表达式匹配),以便路由参数仅匹配某种格式。试试下面的

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

    这将使:id 参数只匹配数值,其他任何不应该匹配的值并跳到下一条路径。

    【讨论】:

    • 非常感谢您的快速回复。完美运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 2016-06-04
    相关资源
    最近更新 更多