13

symfony2を使用してjsonの例を設定しようとしています。
テストバンドル、テストエンティティ(「メッセージ」)を作成し、ormなどを設定しました
メッセージテーブル)には、次の列があります:id、title、text
ルートを公開しようとしています* / mydomain / message jsonインターフェースをメッセージテーブル(小さなリスト)に公開します

私が試した最初の方法論は次のとおりです。

Symfony\Component\HttpFoundation\Response次のような関数を使用して持つMessageControllerクラスを作成します。

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ますか?

私が試した2番目の方法論は、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形式に入れます。元。array(array('id' => 1、'value' =>'test')、array('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 に答える