问题描述
我使用Symfony5。我有一条包含2个参数的路由,其中第二个是可选的。当我在不传递可选参数的情况下调用此路由时,它包含除默认情况下分配给它的空值之外的其他内容。
这是我的路线:
/**
* Creating and updating advert
*
* @Route("/advert/description/create/{owner}/{advert}",name="advert.description.create")
*
* @param Owner $owner
* @param Advert $advert
* @param Request $request
* @param EntityManagerInterface $manager
*
* @return Response
*/
public function descriptionForm(Owner $owner,Advert $advert = null,Request $request,EntityManagerInterface $manager): Response
{
dump($advert);
例如,当我使用网址“ https://127.0.0.1:8000/en/advert/description/create/1”时,转储会给我一个ID为2的对象。
解决方法
解决了添加这些注释的问题:
- @ParamConverter(“ owner”,options = {“ id” =“ owner”})
- @ParamConverter(“ advert”,options = {“ id” =“ advert”})