更新Entity whitout表单的最佳方法是什么,FosRest

时间:2018-05-07 14:02:39

标签: rest api symfony fosrestbundle

我目前正在使用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?你对这个解决方案有什么看法?

0 个答案:

没有答案