父控制器不解析参数“ User $ user”,但解析“ $ id”

我有一个父控制器“ UserController”和一个子控制器“ UserCartController”。与所有其他控制器不同,FOSRest拒绝以下定义:

class UserController extends AbstractFOSRestController
{
    // [...]

    /**
     * @param User $user
     * @return View
     */
    public function getUseraction(User $user): View
    {
        return new View([]);
    }
}

这会导致以下错误:

Every parent controller must have `get{SINGULAR}action(\$id)` method where {SINGULAR} is a singular form of associated object in [...]/config/../src/GDS/[BundleNameHere]/Resources/config/user_routes.yaml (which is being imported from "[...]/config/routes.yaml"). Make sure there is a loader supporting the "rest" type.

一旦我改变了方向,就如下...

class UserController extends AbstractFOSRestController
{
    // [...]

    /**
     * @param User $user
     * @return View
     */
    public function getUseraction($id): View
    {
        return new View([]);
    }
}

该错误不再出现。是什么原因?在所有其他控制器中,您可以解析模型实例。

结果,我的路线看上去并不十分优雅。 :)

/api/users/{id}.{_format}

# vs.

/api/carts/{cart}.{_format}

谢谢!

Shuzhenabc123 回答:父控制器不解析参数“ User $ user”,但解析“ $ id”

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3159357.html

大家都在问