2011-04-27 6 views
13

J'essaie de configurer un exemple json en utilisant symfony2.
J'ai créé un paquet de test, une entité de test ("Message"), mis en place le ORM etc
Le message (tableau) présente les colonnes suivantes: id, titre, texte
Je suis en essayant d'exposer une route */mydomain/message qui exposerait une interface JSON à la table des messages (une petite liste)Exemple Symfony2 JSON

La première méthode que j'ai essayé était:

Créer une classe MessageController qui utilise Symfony\Component\HttpFoundation\Response et a une fonction comme ceci:

public function testAction() { 
    $response = new Response(json_encode(**code_req_here**)); 
    return $response; 
} 

et définir un itinéraire comme ceci:

test: 
    pattern: /test 
    defaults: { _controller: myProjectmyTestBundle:Message:test, _format: json} 
    requirements: { _format: (xml|json), _method: GET } 
  1. est-ce une méthode correcte?
  2. Que dois-je mettre sur le code_req_here?

la deuxième méthode que j'ai essayé était en utilisant le FOS/RestBundle mais n'a pas réussi à compléter le guide correctement que je comprends, si

  1. s'il vous plaît fournir un petit guide sur la façon de faire (juste) cela avec FOS/RestBundle
+0

S'il vous plaît utilisez [le formatage du code] (http://stackoverflow.com/editing-help) pour vos prochaines questions. – Czechnology

Répondre

13

est-ce une méthode correcte?

Oui je l'aime mais je modifierais la règle de routage un peu comme ceci:

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

que dois-je mettre sur le code_req_here?

Placez le tableau que vous souhaitez convertir au format json. ex. array (array ('id' => 1, 'value' => 'test'), array ('id' => 2, 'valeur' ​​=> 'intelligente'))