Symfony4 – api – imprimir los campos elegidos de una entidad


Tengo el siguiente problema, estoy haciendo una api con symfony4.

Tengo el siguiente endpoint:

/**  * @Route("/users", methods={"GET"})`  *  * @return \Symfony\Component\HttpFoundation\JsonResponse  */ public function api_users() {     $  repo = $  this->getDoctrine()->getRepository(User::class);      $  data = $  repo->findAll();      return $  this->json(         [             'success' => true,             'users' => $  data         ]     ); } 

El resultado es la lista de los usuarios, cada uno con todos los campos, id,username,email,password, etc, etc.

El tema es… ¿Puedo hace que imprima sólo los campos que yo quiero? O sea supongamos que yo llamo al endpoint de la siguiente manera:

/users?fields=id,username 

Y que el resultado sea:

{     "success" : true,     "users" :     [         {             "id" : 1,             "username" : "usuario 1"         },         {             "id" : 2,             "username" : "usuario 2"         },         {             "id" : 3,             "username" : "usuario 3"         },         // Etc ...     ] }