2013-03-26 11 views
8

mogę dostać się do parametrów żądania łatwo:Jak zdobyć powtarzając parametry żądania w Compojure

(:foo params) 

Jednak kiedy mam prośbę takiego:

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

ja tylko wrócić "3" podczas gdy spodziewam się tablicy ["1","2","3"].

Nie jestem pewien, dlaczego tak się dzieje, bo kiedy patrzę na kod w:

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

Wydaje zadzwonić assoc-conj która ma włączyć wiele params o tej samej nazwie w wektorze zawierające wartości.

Czy brakuje mi tu czegoś lub jest to błąd?

+2

Łącze mówi o danych POST w formularzu www-form-urlencoded. Twoje zapytanie dotyczy ciągu zapytania. Nawiasem mówiąc, nie jest dziwne, aby trzy razy powtórzyć ten sam ciąg zapytania;) – Ankur

Odpowiedz

0

Nigdy nie spotkałem się z tym problemem osobiście, ale jeśli w rzeczywistości niemożliwe jest uzyskanie wielu wartości bez ręcznego analizowania adresu URL, wydaje się, że warto zgłosić zgłoszenie błędu pod adresem https://github.com/weavejester/compojure/. (O ile nie jest to cecha .. Istnieje kilka innych rzeczy w Compojure i Clout to trochę nietypowe, ale bardzo wygodne.)

Powiązane problemy