How can I update FOS USER user details using PATCH method. So when I pass partial details in Json, only these details are updated.
User entity
  /**
   * @ORM\Entity
   * @ORM\Table(name="user")
   */
  abstract class User extends BaseUser
  {
      /**
       * @var int
       *
       * @ORM\Column(name="id", type="integer")
       * @ORM\Id
       * @ORM\GeneratedValue(strategy="AUTO")
       */
      protected $id;
      /**
       * @var string]
       * @ORM\Column(name="first_name", type="string", length=255, nullable=true)
       */
      private $firstName;
      /**
       * @var string
       * @ORM\Column(name="last_name", type="string", length=255, nullable=true)
       */
      private $lastName;
     // getters and setters are here
      }
For example. I have user Jack Nickolson and my json is:
  {"firstName": "John"}
Only first name is updated.
This is my controller. How do I set new parameters to user, without specifing which parameters?
     /**
      * @Route("/update", name="api_user_update")
      * @Security("has_role('ROLE_USER')")
      * @Method("PATCH")
      */
     public function updateAction(Request $request){
         $jsonContent = $request->getContent();
         $params = json_decode($jsonContent);
         $em = $this->getDoctrine()->getEntityManager();
         $response = new JsonResponse();
         $user = $this->getUser();
         // do something to update user details
         $this->get('fos_user.user_manager')->updateUser($user);
         $em->persist($user);
         $em->flush();
         $response->setContent([
        "status" => "user ". $user->getUsername() ." is updated"
         ]);
         return $response;
     }
UPDATE
I tried to use an answer below, so this what I have now
    public function updateAction(Request $request){
    $em = $this->getDoctrine()->getEntityManager();
    $response = new JsonResponse();
    $user = $this->getUser();
    $editForm = $this->createForm('CoreBundle\Form\UserType', $user);
    $requestData = $request->getContent();
    $requestData = json_encode($requestData, true);
    $editForm->submit($requestData, false);
    $this->get('fos_user.user_manager')->updateUser($user);
    $em->persist($user);
    $em->flush();
    $response->setContent([
    "status" => "user ". $user->getUsername() ." is updated"
     ]);
    return $response;
}
Well, my entity was not updated. What am I doing wrong?
 
     
    