我正在使用Symfony 4,我已经安装了带有FOSRest软件包的JMS序列化程序。
因此,每当我发现错误时,我都会收到此消息:
JMS \ Serializer \ Exception \ RuntimeException:序列化数据不支持资源。路径:Monolog \ Handler \ StreamHandler - > Symfony \ Bridge \ Monolog \ Logger - > Symfony \ Component \ Cache \ Adapter \ PhpFilesAdapter - > Symfony \ Component \ Cache \ Adapter \ TraceableAdapter - > Symfony \ Component \ Cache \ Adapter \ PhpArrayAdapter - > Symfony \ Component \ Cache \ DoctrineProvider - > Doctrine \ Common \ Annotations \ CachedReader - > Sensio \ Bundle \ FrameworkExtraBundle \ EventListener \ ControllerListener - > Symfony \ Component \ EventDispatcher \ EventDispatcher - > Symfony \ Component \ HttpKernel \ Debug \ TraceableEventDispatcher - > ContainerYCXy4ht \ srcTestDebugProjectContainer - > FOS \ RestBundle \ Request \ ParamFetcher - > Symfony \ Component \ HttpFoundation \ ParameterBag - > Symfony \ Component \ HttpFoundation \ Request - >的Symfony \组件\ HttpKernel \异常\ HttpException
在真正的错误后,我不明白为什么?我使用JMS contrib recipe:
/packages/dev/jms_serializer.yaml
jms_serializer:
visitors:
json:
options:
- JSON_PRETTY_PRINT
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION
/packages/prod/jms_serializer.yaml
jms_serializer:
visitors:
json:
options:
- JSON_UNESCAPED_SLASHES
- JSON_PRESERVE_ZERO_FRACTION
/包/ jms_serializer
jms_serializer:
visitors:
xml:
format_output: '%kernel.debug%'
所以我不明白为什么会这样做? 如果有人可以帮助我? 谢谢提前
答案 0 :(得分:0)
我发现解决方案是fos_rest配置错误
之前
fos_rest:
exception:
enabled: true
exception_controller: 'fos_rest.exception.controller:showAction'
param_fetcher_listener: force
body_listener: true
format_listener:
enabled: true
rules:
- { path: '^/api', priorities: ['json'], prefer_extension: true}
- { path: '^/', priorities: [ 'html', '*/*'], fallback_format: html, prefer_extension: true }
view:
view_response_listener: 'force'
之后
fos_rest:
param_fetcher_listener: force
format_listener:
enabled: true
rules:
- { path: '^/api', priorities: ['json'], prefer_extension: true}
- { path: '^/', priorities: [ 'html', '*/*'], fallback_format: html, prefer_extension: true }
view:
view_response_listener: 'force'