【问题标题】:Optional route parameters being enforced in php Slim Framework v4php Slim Framework v4 中强制执行的可选路由参数
【发布时间】:2021-02-27 01:30:21
【问题描述】:

我使用的是 slim 4。我可能误解了可选路由参数。我的代码如下:

public function __invoke(App $app)
{
    $app->post('/login', LoginHandler::class);
    $app->get('/users/{id:\d+}', UserHandler::class);
}

我希望 /users//users/1 一样是有效路线,但我发现 /users/ 无法解决,我得到了 404。我在这里误解了“可选”这个词。在任何纤薄的文档和 stackoverflow 上都找不到任何东西。

我真的不想使用以下内容:

$app->get('/user/{id:\d+}', UserHandler::class);
$app->get('/users/', UserHandler::class);

非常感谢任何帮助。

谢谢

【问题讨论】:

    标签: php api slim fastroute


    【解决方案1】:

    可选参数需要[](来自https://www.slimframework.com/docs/v4/objects/routing.html#optional-segments),所以...

    $app->get('/users/[{id:\d+}]', UserHandler::class);
    

    【讨论】:

    • 不敢相信我没有看到这个。我真的需要眼镜。关于路由的那个页面令人困惑,因为顶部谈论了很多关于可选参数的内容,并且只显示了 {} 的示例。无论如何,这就是它现在的工作方式。非常感谢您花时间看我的问题
    • 感谢您举报。我现在已将此答案标记为已接受
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多