質問

Symfony2を使用してJSONの例を設定しようとしています。
テストバンドル、テストエンティティ(「メッセージ」)を作成し、ORMなどをセットアップしました
メッセージ (テーブル)には次の列があります。 ID、タイトル、テキスト
JSONインターフェイスをメッセージテーブルに公開するルート */mydomain/メッセージを公開しようとしています(小さなリスト)

私が試した最初の方法論は:

使用する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?

私が試した2番目の方法論は、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、 'value' => '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