2015-08-29 1 views

Répondre

5

gestionnaires de compojure reçoivent toute carte de demande que leur argumentation, alors gestionnaire a également un accès à tous les paramètres. Par exemple, pour voir la demande entière:

(POST "/" request 
    (str request)) 

ou, pour extraire tous les paramètres de forme:

(POST "/" request 
    (str (:form-params request))) 

La syntaxe utilisée dans la question est un destructuring syntax spécifique à compojure, ce qui permet d'extraire les paramètres individuels de la demande. Ceci est similaire à syntaxe habituelle déstructurant de Clojure, et, comme destructuration d'habitude, la déstructuration de compjure permet également mélanger la déstructuration et obtenir encore toute la demande:

(POST "/" [param1 param2 :as request] 
     (str (:form-params request))) 

ou l'extraction du nom et tous les paramètres « supplémentaires »:

(POST "/" [param1 param2 & more-params] 
     (str more-params)) 
3

Je viens de deviner à mettre & params dans le vecteur et qui a fonctionné:

(POST "/my-app" [& params] 
    (str "<h1>Hello " params "</h1>"))