2013-03-26 14 views
8

posso raggiungere i parametri di richiesta facilmente con:Come arrivare ripetere i parametri di richiesta in Compojure

(:foo params) 

Tuttavia, quando ho una richiesta del genere:

/api?foo=1&foo=2&foo=3 

ho solo indietro "3" mentre mi aspetterei un array ["1","2","3"].

non sono sicuro perché questo sta accadendo perché quando guardo il codice:

https://github.com/ring-clojure/ring-codec/blob/master/src/ring/util/codec.clj#L128

Sembra chiamare assoc-conj che dovrebbe trasformare più params con lo stesso nome in un vettore contenente i valori.

Mi manca qualcosa qui o si tratta di un bug?

+2

Il collegamento parla dei dati POST in formato www-form-urlencoded. La tua query riguarda la stringa di query. A proposito, non è strano passare la stessa stringa di query 3 volte;) – Ankur

risposta

0

Non ho mai riscontrato questo problema da solo, ma se è davvero impossibile ottenere una sospensione di più valori senza analizzare manualmente l'URL, sembra che valga la pena presentare una segnalazione di bug al numero https://github.com/weavejester/compojure/. (A meno che non si tratta di una caratteristica .. Ci sono alcune altre cose in Compojure e Clout che è un po 'non-standard, ma altamente conveniente.)

Problemi correlati