Ges*_*han 36 php symfony fosrestbundle jmsserializerbundle
我仔细阅读了这篇文章:https://github.com/schmittjoh/serializer/issues/77但是没有找到任何方法在JSON中为JOS序列化器的FOS Rest包中序列化空值(意味着只显示Doctrine的关键)对象,即使它为null).
我在composer.json中使用以下配置
"jms/serializer-bundle": "0.12.*@dev",
"friendsofsymfony/rest-bundle": "0.13.*@dev",
Run Code Online (Sandbox Code Playgroud)
JMS序列化程序配置
#jms-serializer
jms_serializer:
visitors:
json:
options: 0 # json_encode options bitmask
serialize_null: true
Run Code Online (Sandbox Code Playgroud)
或者FOS Rest bunde配置
fos_rest:
view:
serialize_null: true
Run Code Online (Sandbox Code Playgroud)
不行.我没有使用视图我是"view_response_listener:'force'"所以如果可以提供配置中的解决方案,那将有所帮助,谢谢.
Ita*_*ako 94
您可以在最近的配置中设置以下选项:
fos_rest:
serializer:
serialize_null: true
Run Code Online (Sandbox Code Playgroud)
stw*_*twe 26
试试这个
在你的控制器中
$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;
Run Code Online (Sandbox Code Playgroud)
但是我不了解与配置有关的fosrestbundle的相互作用.
| 归档时间: |
|
| 查看次数: |
12750 次 |
| 最近记录: |