Как показать нулевое значение в 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 ", поэтому, если может быть предоставлено решение из конфигурации, это поможет, спасибо.
Ответы
Ответ 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