Ich versuche, eine von Doctrine generierte Entität namens User als Antwort an einen der Endpunkte zurückzugeben. Wenn jedoch eine Instanz an die JSON-Funktion übergeben wird:
Code: Select all
class UserController extends AbstractController
{
#[Route('/users/id')]
public function getUser(Request $request, UsersRepository $usersRepository, SessionInterface $session): JsonResponse
{
$user = $usersRepository->getUserById(1);
return $this->json($user, $status = 200, $headers = [], $context = []);
}
}
Ich erwarte Folgendes:
Code: Select all
{"user_id":1,"email":"admin@devsecurely.com","reset_token":null,"reset_token_expires":null,"active":null}
Code: Select all
{"userId":1,"email":"admin@devsecurely.com","resetToken":null,"resetTokenExpires":null,"active":null}
Warum ist JsonResponse? sich so verhalten? Gibt es eine Möglichkeit, das Problem zu beheben?
Vielen Dank im Voraus für Ihre Hilfe.
BEARBEITEN: Unten ist der Code für die Benutzerentität:< /p>
Code: Select all
namespace App\Entity;
use App\Repository\UsersRepository;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: UsersRepository::class)]
class Users
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $user_id = null;
#[ORM\Column(length: 500)]
private ?string $email = null;
#[ORM\Column(length: 500, nullable: true)]
private ?string $reset_token = null;
#[ORM\Column(type: Types::DATETIME_MUTABLE)]
private ?\DateTimeInterface $reset_token_expires = null;
#[ORM\Column]
private ?bool $active = null;
public function getUserId(): ?int
{
return $this->user_id;
}
public function setUserId(int $user_id): self
{
$this->user_id = $user_id;
return $this;
}
public function getEmail(): ?string
{
return $this->email;
}
public function setEmail(string $email): self
{
$this->email = $email;
return $this;
}
public function getResetToken(): ?string
{
return $this->reset_token;
}
public function setResetToken(?string $reset_token): self
{
$this->reset_token = $reset_token;
return $this;
}
public function getResetTokenExpires(): ?\DateTimeInterface
{
return $this->reset_token_expires;
}
public function setResetTokenExpires(\DateTimeInterface $reset_token_expires): self
{
$this->reset_token_expires = $reset_token_expires;
return $this;
}
public function isActive(): ?bool
{
return $this->active;
}
public function setActive(bool $active): self
{
$this->active = $active;
return $this;
}
}