Принять нулевое значение при передаче несуществующего параметра id с @ParamConverter - PullRequest
0 голосов
/ 29 февраля 2020

Можно ли вернуть «нулевое» значение при прохождении несуществующего «идентификатора» в моем маршруте?

    /**
     * @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.

I хочу выдать HttpException, когда возвращается нулевое значение. Я также попытался изменить параметр «isOptionnal» на «false» в аннотации ParamConverter, но он не работает.

1 Ответ

0 голосов
/ 02 марта 2020

Удалить @ParamConverter и вы можете использовать "/admin/product/edit/{id?}" Смотрите это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...