我正在尝试使用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 }  
  1. 这是正确的方法吗?
  2. 我把什么放在 code_req_here?

我尝试的第二种方法是使用FOS/RESTBUNDLE,但没有设法正确完成指南,因此

  1. 请提供有关如何使用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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top