Можно ли полностью отключить IRI в платформе API? - PullRequest
0 голосов
/ 16 апреля 2019

Я не хочу делать «классический» API без IRI. Я просто хочу получить взамен идентификатор, а не IRI или объект / сущность.

Я уже разрешаю простые идентификаторы:

// config/packages/api_platform.yml
api_platform:
allow_plain_identifiers: true

Если я сделаю какой-либо запрос с помощью заголовка Accept: application / json, он останется прежним.

Я пытаюсь обмануть и заменить получатель моей связанной сущности на getId ()

    public function getStatus(): AngelRelationshipStatus
    {
        return $this->status;
    }

по

    public function getStatus(): int
    {
        return $this->status->getId();
    }

Я получаю следующую ошибку: «Предупреждение: get_class () ожидает, что параметр 1 будет объектом, задано целое число»

Почему я не могу просто получить простое удостоверение личности?

Окружающая среда:

  • PHP 7.2
  • API Платформа 2.3

1 Ответ

0 голосов
/ 16 апреля 2019

Моя рекомендация - не менять слишком много под капотом с этими хакерскими попытками делать непреднамеренные вещи (например, возвращая id для status).

Вместо этого просто настройте свой вывод во время процесса сериализации.

См. Процесс сериализации Api-Platform .

...