题
我正在尝试使用Symfony2设置JSON示例。
我创建了一个测试捆绑包,一个测试实体(“消息”),设置ORM等
这 信息 (表)具有以下列: id,标题,文字
我正在尝试公开一条路由 */mydomain/消息,该路线会将JSON接口暴露于消息表(小列表)
我尝试的第一种方法是:
创建一个使用的MessageController类 Symfony\Component\HttpFoundation\Response
并具有这样的功能:
public function testAction() {
$response = new Response(json_encode(**code_req_here**));
return $response;
}
并设置这样的路线:
test:
pattern: /test
defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json}
requirements: { _format: (xml|json), _method: GET }
- 这是正确的方法吗?
- 我把什么放在
code_req_here
?
我尝试的第二种方法是使用FOS/RESTBUNDLE,但没有设法正确完成指南,因此
- 请提供有关如何使用FOS/RESTBUNDLE的小指南
解决方案
这是正确的方法吗?
是的,我喜欢它,但我会修改类似的路由规则:
test:
pattern: /test.{_format}
defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json}
requirements: { _format: (xml|json), _method: GET }
我在code_req_here上放了什么?
放置要转换为JSON格式的数组。前任。 array(array('id'=> 1,'值'=>'test'),array('id'=> 2,'value'=>'smart'))
其他提示
我建议使用
http://jmsyst.com/bundles/jmsserializerbundle
$serializer = $container->get('jms_serializer');
$serializer->serialize($data, 'json'); // json|xml|yml
$data = $serializer->deserialize($inputStr, $typeName, $format);
不隶属于 StackOverflow