Une API J'écris accepte deux arguments via l'URL - par exemple/api/cibles/toto/titiComment transmettre des paramètres supplémentaires à dispatch()?
app = webapp2.WSGIApplication([
('/api/targets/(\w*?)/(\w*?)$', MainPage),
], debug=True)
Ce Déclenché un gestionnaire GET:
def get(self, url_1, url_2):
#do some stuff
La chose cool ici est que Je peux référencer url_1 (truc) et url_2 (barre) dans mon gestionnaire GET et ils sont définis pour moi.
J'ai une autre page qui accepte les requêtes GET et POST. Environ 90% de ce qui se passe est le même dans les deux cas, j'ai donc choisi d'utiliser def dispatch() au lieu d'avoir deux gestionnaires distincts.
Le problème ici est que (même si j'ai encore les blocs regex enfermés dans mon Initialisation webapp2.WSGIApplication), ils ne sont plus transmis au gestionnaire de requêtes, donc je dois les définir comme ceci:
url_1= self.request.url.split("/")[3]
url_2= self.request.url.split("/")[4]
Ce qui me fait sentir comme un péon. Si je dis à dispatch() d'attendre ces deux paramètres, ils n'arrivent jamais. Que dois-je faire pour imiter le comportement de get dans dispatch?
Je ne sais pas pourquoi cela m'a pris un mois à remarquer, mais une réponse parfaite. Bien expliqué, patient et constructif. Merci beaucoup :) –