Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 使用@ParamConverter传递不存在的id参数时接受null值_Symfony_Symfony4 - Fatal编程技术网

Symfony 使用@ParamConverter传递不存在的id参数时接受null值

Symfony 使用@ParamConverter传递不存在的id参数时接受null值,symfony,symfony4,Symfony,Symfony4,在传递路由中不存在的“id”时,是否可以返回“null”值 /** * @Route("/admin/product/edit/{id}", name="product_edit", methods={"POST"}) * @ParamConverter( * name="id", * class="App\Entity\Product", * options={"mapping": {"id": "id"}}

在传递路由中不存在的“id”时,是否可以返回“null”值

    /**
     * @Route("/admin/product/edit/{id}", name="product_edit", methods={"POST"})
     * @ParamConverter(
     *     name="id",
     *     class="App\Entity\Product",
     *     options={"mapping": {"id": "id"}}
     * )
     * @param Product $product
     * @param Request $request
     * @return JsonResponse
     */
    public function edit(Product $product = null, Request $request)
    {
        var_dump($product);die;
        $user = $this->getUser();
        if (!$product || $product->getUser() !== $user) {
            throw new HttpException(500, "Product does not exist");
        }

        return new JsonResponse([]);
    }
它总是给我一个错误:

App\\Entity\\Product object not found by the @ParamConverter annotation.

我想在返回null值时抛出HttpException。我还尝试将ParamConverter注释中的“Isoptional”参数更改为“false”,但它不起作用。

删除
@ParamConverter
,您可以使用
“/admin/product/edit/{id?}”

我通过删除@ParamConverter注释找到了解决方案。现在,这是工作!