Подтвердить что ты не робот

Как показать нулевое значение в JSON в FOS Rest Bundle с JMS Serializer?

Я прочитал это: https://github.com/schmittjoh/serializer/issues/77, но не нашел способа сериализации нулевых значений в JSON для пакета FOS Rest с JMS-сериализатором (что означает просто показать ключ объекта Doctrine, даже если его null).

Я использую следующую конфигурацию в composer.json

"jms/serializer-bundle": "0.12.*@dev",
"friendsofsymfony/rest-bundle": "0.13.*@dev",

Конфигурация сериализатора JMS

#jms-serializer
jms_serializer:
 visitors:
    json:
        options: 0 # json_encode options bitmask
        serialize_null: true

Или FOS Rest bunde config

fos_rest:
view:
    serialize_null: true

Не работает. Я не использую представление. Я "view_response_listener:" force ", поэтому, если может быть предоставлено решение из конфигурации, это поможет, спасибо.

4b9b3361

Ответ 1

Попробуйте это

в вашем контроллере

    $entity = $this->getEntity($id);

    $context = new SerializationContext();
    $context->setSerializeNull(true);

    $serializer = $this->get('jms_serializer');

    $response = new Response($serializer->serialize($entity, 'json', $context));
    $response->headers->set('Content-Type', 'application/json');

    return $response;

Но взаимодействие с fosrestbundle о конфигах мне неизвестно.

Ответ 2

Вы можете установить следующий параметр в конфигурации с недавнего времени:

fos_rest:
    serializer:
        serialize_null: true