Lo que intento hacer es tener una solicitud de API como/api/calculator? = 7,00 & = 9,99 & = 5,50 & = 45,76 etc. Cómo mi controlador puede agarrar los datos de solicitud? Las claves/códigos de la cadena de consulta son entradas entre 1 y 1000. En la cadena de consulta pueden ser algunos de los 1000 códigos, no necesariamente todos ellos. La parte de valor es doble.ASP.NET Web API - Solicitud GET con múltiples argumentos
La única manera que creo funcionaría es si creo un objeto modelo (ex StupidObject
) con 1000 propiedades (debería usar propiedades nombradas como p1, p2, .. p1000 para códigos ahora, ya que los nombres no son un nombre de propiedad permitido)), decorado con ModelBinder
. Entonces para el controlador podría tener algo como GetCalcResult(StupidObject obj){...}
Pero eso no parece una solución elegante :)
Probé controladores como GetCalcResult([FromURI]Dictionary<int, double> dict){...}
pero dict es siempre nulo. También sin el [FromURI]
me sale un error. También intenté List<KeyValuePair<int, double>>
como parámetro de controlador con los mismos resultados.
¿Alguien podría señalarme en la dirección correcta o darme un ejemplo de trabajo?
Gracias! Usé 'var queryValues = HttpUtility.ParseQueryString (Request.RequestUri.Query);', ya que no había ParseQueryString en RequestUri. ¿Estoy haciendo algo mal? Usando la versión RC. – ano
ParseQueryString es un método de extensión definido en System.Net.Http por lo que necesitaría un uso de System.Net.Http; – rism