Co staram się zrobić, to mieć żądanie API podobnego/api/kalkulatora? = 7,00 & = 9,99 & = 5,50 & = 45,76 itd. Jak mój kontroler może chwycić dane prośbę? Klawisze/kodeksy ciągu kwerendy są ints między 1 i 1000. W ciągu kwerendy mogą być niektóre z 1000 kodów, niekoniecznie wszystkie z nich. Część wartości jest podwójna.ASP.NET Web API - żądanie GET z wieloma argumentami
Jedynym sposobem, jaki powinienem wykonać, jest utworzenie obiektu modelu (ex StupidObject
) z 1000 właściwościami (należy użyć właściwości o nazwach takich jak p1, p2, .. p1000 dla kodów teraz, ponieważ ints nie są dozwoloną nazwą właściwości), ozdobione ModelBinder
. Wtedy dla kontrolera mogłem mieć coś takiego jak GetCalcResult(StupidObject obj){...}
Ale to nie wydaje się być eleganckim rozwiązaniem :)
Próbowałem kontrolerów takich jak GetCalcResult([FromURI]Dictionary<int, double> dict){...}
, ale dict jest zawsze pusty. Również bez [FromURI]
pojawia się błąd. Wypróbowano także jako parametr kontrolera o List<KeyValuePair<int, double>>
z tymi samymi wynikami.
Czy ktoś może mi punkt w kierunku prawego lub dać mi przykład działa?
Dzięki! Użyłem 'var queryValues = HttpUtility.ParseQueryString (Request.RequestUri.Query);', ponieważ nie było żadnych ParseQueryString na RequestUri. czy robię coś źle? Korzystanie z wersji RC. – ano
ParseQueryString jest metodą rozszerzenia zdefiniowaną w System.Net.Http, więc trzeba użyć System.Net.Http; – rism