13

我正在尝试使用 symfony2 设置一个 json 示例。
我创建了一个测试包、一个测试实体(“消息”)、设置了 orm 等消息(表)有以下列:
id 、标题、文本 我正在尝试公开路由 */mydomain/message这将向消息表公开一个 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 执行此操作的小指南
4

2 回答 2

13

这是一个正确的方法吗?

是的,我喜欢它,但我会像这样修改路由规则:

test:
    pattern: /test.{_format}
    defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json}
    requirements: { _format: (xml|json), _method: GET }

我在 code_req_here 上放了什么?

将要转换为 json 格式的数组放入。前任。数组(数组('id' => 1,'value' => 'test'),数组('id' => 2,'value' => 'smart'))

于 2011-08-22T03:55:55.843 回答
1

我建议使用

http://jmsyst.com/bundles/JMSSerializerBundle

$serializer = $container->get('jms_serializer');
$serializer->serialize($data, 'json'); // json|xml|yml
$data = $serializer->deserialize($inputStr, $typeName, $format);
于 2012-12-29T17:11:20.083 回答