Платформа API: пользовательские методы установки не работаютPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Платформа API: пользовательские методы установки не работают

Сообщение Anonymous »

Я пытаюсь настроить ApiRessource с помощью платформы API.

Вот мой объект Cheese:

Код: Выделить всё

#[ORM\Entity(repositoryClass: CheeseListingRepository::class)]
#[ApiResource]
class CheeseListing
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column]
private ?int $id = null;

#[ORM\Column(length: 255)]
private ?string $title = null;

#[ORM\Column(type: Types::TEXT)]
private ?string $description = null;

#[ORM\Column]
private ?int $price = null;

#[ORM\Column]
private ?\DateTimeImmutable $createdAt = null;

#[ORM\Column]
private ?bool $isPublished = null;

public function getId(): ?int
{
return $this->id;
}

public function getTitle(): ?string
{
return $this->title;
}

public function setTitle(string $title): self
{
$this->title = $title;

return $this;
}

public function getDescription(): ?string
{
return $this->description;
}

public function setDescription(string $description): self
{
$this->description = $description;

return $this;
}

public function setTextDescription(string $description): self
{
$this->description = nl2br($description);

return $this;
}

public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}

public function getCreatedAtAgo(): string
{
return Carbon::instance($this->getCreatedAt())->diffForHumans();
}

public function setCreatedAt(\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;

return $this;
}
}
Пока мой пользовательский геттер отображает поле созданноеAtAgo в JSON, возвращаемом операциями GET:

Код: Выделить всё

{
"id": 0,
"title": "string",
"description": "string",
"createdAt": "2022-08-26T00:44:53.226Z",
"createdAtAgo": "string"
}
Я не нашел способа передать textDescription в операции POST, хотя я определил установщик setTextDescription. Вот пример значения, которое мне постоянно показывает документ:

Код: Выделить всё

{
"title": "string",
"description": "string",
"createdAt": "2022-08-26T00:55:41.558Z"
}
Есть идеи, которые помогут мне добавить поле textDescription?


Подробнее здесь: https://stackoverflow.com/questions/734 ... -dont-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»