2013-03-26 14 views
8

Wiederholung kann ich an die Anfrageparameter erhalten leicht mit:Anfahrt Anfrageparameter in Compojure

(:foo params) 

Allerdings, wenn ich eine Anfrage, wie dieses:

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

ich nur "3" zurück während ich ein Array ["1","2","3"] erwarten würde.

Ich bin nicht sicher, warum dies geschieht, weil wenn ich mir den Code in:

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

Es scheint assoc-conj zu nennen, die angeblich mehrere params des gleichen Namens in einen Vektor drehen enthält die Werte.

Fehle ich hier etwas oder ist das ein Fehler?

+2

Der Link bezieht sich auf POST-Daten in der Form www-form-urlencodiert. Ihre Abfrage bezieht sich auf die Abfragezeichenfolge. Übrigens, ist es nicht komisch, dieselbe Abfragezeichenfolge dreimal zu übergeben;) – Ankur

Antwort

0

Ich habe dieses Problem nie selbst angetroffen, aber wenn es tatsächlich unmöglich ist, die multiplen Werte zu erhalten, ohne die URL selbst zu analysieren, klingt es nach einem Fehlerbericht unter https://github.com/weavejester/compojure/. (Es sei denn, es ist ein Merkmal ist .. Es gibt einige andere Dinge in Compojure und Clout, die ein bisschen Nicht-Standard ist aber sehr bequem.)