我目前正在使用FosRestBundle构建API。我搜索如何制作可重复使用的优化服务以更新我的实体。
现在,在我的控制器中,我得到了两个paramConverter的参与者:
https
所以,一个实体当前在我的bdd中有id参数(并检查id是否存在),另一个实体用fosRest转换器验证。 GOOD
我的服务如下:
/**
* @Rest\Put("/enseignes/{enseigne_id}",
* requirements={"id" = "\d+"})
*@ParamConverter("enseigne", options={"id":"enseigne_id"})
*@ParamConverter("enseigneUpdate",
* converter="fos_rest.request_body")
*
* @Rest\View()
*/
public function updateEnseigneAction(Enseigne $enseigne,Enseigne $enseigneUpdate, ConstraintViolationList $violations)
{
if (count($violations)){
return $this->view($violations,Response::HTTP_BAD_REQUEST);
}
$mapData = $this->get('app.mapdata');
$mapData->mapDataOnEntity($enseigneUpdate,$enseigne);
$em = $this->getDoctrine()->getManager();
$em->flush();
return $enseigne;
}
第一: 在我的类的属性中,我有与其他实体的关系属性,我不想要它!
第二: 我如何使用此代码来管理PATCH?你对这个解决方案有什么看法?