Question

Je suis en train de mettre en place 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 (tableau) Message a les colonnes suivantes: id, titre, texte Je suis en train d'exposer une route * / mydomain / message qui exposerait une interface JSON à la table des messages (une petite liste)

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

Créer une classe MessageController que les utilisations 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. qu'est-ce que je mets 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) avec ce FOS / RestBundle
Était-ce utile?

La solution

est-ce une méthode correcte?

Oui je l'aime mais je modifier 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 }

qu'est-ce que je mets sur le code_req_here?

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

Autres conseils

Je recommande d'utiliser

http://jmsyst.com/bundles/JMSSerializerBundle

$serializer = $container->get('jms_serializer');
$serializer->serialize($data, 'json'); // json|xml|yml
$data = $serializer->deserialize($inputStr, $typeName, $format);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top