2017-10-10 4 views
0

J'utilise le FOSRestBundle et je voudrais modifier les routes qu'il crée. J'ai l'intention d'ajouter des paramètres par défaut à chaque route que l'ensemble de repos crée. J'ai regardé les docs de symfony sur le routage et n'ai trouvé rien qui couvre ce cas d'utilisation.Comment puis-je modifier par programmation un itinéraire d'un ensemble différent dans Symfony 3?

S'il n'y a aucun moyen que je devrait soit

  • modifier le FOS Rest Bundle directement

  • Ou copier son code de chargeur d'itinéraire, faire mes changements, et l'ajouter à mon propre paquet (et n'utilisez pas du tout le routage Rest Bundle.)

Je n'aime pas l'une ou l'autre option.

Symfony offre-t-il un hook permettant le post-traitement des routes?

Répondre

2

FosRestBundle a un custom route loader. Si vous regardez dans le référentiel github, vous verrez que les routes sont définies dans le fichier RestActionReader.php. Donc la seule solution est de le remplacer et de remplacer l'associé de classe au service fos_rest.routing.loader.reader.action

+1

Duh, je n'ai même pas pensé à cette approche. Je vais essayer avant d'accepter cela comme réponse. Entre-temps, j'ai augmenté la réponse. – dlporter98

+0

Cela fonctionnera - merci pour la suggestion. La seule différence est que je remplacerai le service fos_rest.routing.loader.yaml_collection au lieu de celui que vous avez mentionné. – dlporter98