Symfony 3 - FostRestBundle - Retourner 1 template twig

retourner un template twig

Le problème exposé dans ce sujet a été résolu.

Salut,

Je cite une réponse que j’avais mise dans les commentaires du cours. Cela pourra t’aider dans ton problème.

Si tu veux que les pages html soient affichées par ton application, il faut changer les urls de ton api. Tu peux par exemple ajouter un préfixe /api dans toutes les routes de ton api, et configurer FOSREstBundle pour qu’il soit actif que sur ces routes.

La déclaration des routes pourrait ressembler à :

1
2
3
4
places:
    type:     rest
    resource: AppBundle\Controller\PlaceController
    prefix: /api

La configuration de FOSRestBundle devra prendre en compte les nouvelles routes.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# src/app/config/config.yml
fos_rest:
    routing_loader:
        include_format: false
    view:
        view_response_listener: true
    zone:
        - { path: ^/api }
    format_listener:
        rules:
            - { path: '^/api', priorities: ['json'], fallback_format: 'json' }

La partie zone permet d’activer le bundle que pour les routes commençants par api. IL ne faut pas aussi oublier de reconfigurer la partie sécurité pour qu’elle corresponde aux nouvelles urls.

briceouabo

Cette technique permet d’isoler l’API dans le préfixe /api et tout le reste de ton application pourra fonctionner comme une application Symfony classique.

Cordialement.

C’est pour un système d’ecommerce. Notre appli est fractionné en 2. 1 partie front end fait avec dupral et une partie backend avec symfony3. Sur la partie front end (dupral) l’internaute configure son panier d’achat (nbre de produit acheté, options supplémentaire, etc) en appelant des webservice du backend (symfony). Et au moment de payer le système de paiement d’une banque demande 1 "formulaire html scellé" avec différentes informations calculé du côté backend affiché sur la partie frontend. Ensuite il ya une communication entre l’internaute et le serveur de la banque et ensuite entre le serveur de la banque et notre backend et enfin 1 retour sur la partie front end en fin de paiement. Voila pourquoi j’avais besoin de savoir si cétait possible ou pas. J’espère m’être fait comprendre un minimum.

tu peux créer une règle juste pour ton formulaire.

1
2
3
4
 format_listener:
        rules:
            - { path: '^/url/qui/genere/formulaire', priorities: ['html'], fallback_format: 'html' }
            - { path: '^/', priorities: ['json'], fallback_format: 'json' }

FOSRestBundle pourra utiliser twig en interne pour générer ton formulaire.

http://symfony.com/doc/current/bundles/FOSRestBundle/2-the-view-layer.html

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte