Comment fonctionnent les itinéraires dans FOSRestBundle?
Quelqu'un peut-il expliquer clairement comment les routes sont censés être configuré pour le RESTE des demandes à l'aide FOSRest? Chaque tutoriel semble le faire différemment.
Mon Contrôleur:
<?php
namespace Data\APIBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
class DatasetController extends Controller{
protected function postDatasetAction(Request $request){
//Query here
}
L'URL devrait ressembler à quelque chose comme ceci: Symfony/web/app_dev.php/api/dataset. J'ai donc pensé que les itinéraires doivent être quelque chose comme...
app/config/routes.yml
data_api:
resource: "@DataAPIBundle/Resources/config/routing.yml"
prefix: /api
type: rest
Et....
De données/APIBundle/Resources/config/routing.yml
data_query:
type: rest
pattern: /dataset
defaults: {_controller: DataAPIBundle:Dataset:datasetAction, _format: json }
requirements:
_method: POST
source d'informationauteur user2142111
Vous devez vous connecter pour publier un commentaire.
Veuillez suivre le lien suivant pour lire la documentation officielle:
http://symfony.com/doc/master/bundles/FOSRestBundle/index.html
Pour commencer cette série, je suggère à la suite de la unique reposant contrôleur de la documentation:
http://symfony.com/doc/master/bundles/FOSRestBundle/5-automatic-route-generation_single-restful-controller.html
Vous trouverez également des exemples clairs (https://github.com/liip/LiipHelloBundle) à propos de ce que ce groupe peut offrir.
Quelques choses à partir des extraits de code que vous avez posté, a attiré mon attention:
La visibilité de votre méthode de contrôleur est protégé alors qu'il devrait être public (http://symfony.com/doc/current/book/controller.html)
Le "routage.yml" fichier créé pour configurer votre parcours doit contenir le nom de la dite méthode de contrôleur (postDatasetAction au lieu de DatasetAction):
Veuillez trouver ci-dessous un exemple de configuration d'une route comme :
get_items OBTENIR TOUTE UNE /les éléments.{json}
P. S. : Vous aurez besoin d'ajouter un affichage de la ressource sous la forme d'une page HTML
il vous manque le routage partie de FOSRestbundle dans le contrôleur: