Sto provando a configurare il routing nel mio progetto WebCI MVC4.Routing basato sul nome parametro stringa di query
Voglio essere in grado di cercare i prodotti in base al loro nome o il loro tipo in questo modo:
/api/products?name=WidgetX
- restituisce tutti i prodotti denominati WidgetX /api/products?type=gadget
- restituisce tutti i prodotti di tipo gadget
I percorsi sono configurato in questo modo:
config.Routes.MapHttpRoute(
name: "Get by name",
routeTemplate: "api/products/{name}",
defaults: new { controller = "ProductSearchApi", action = "GetProductsByName", name = string.Empty }
);
config.Routes.MapHttpRoute(
name: "Get by type",
routeTemplate: "api/products/{type}",
defaults: new { controller = "ProductSearchApi", action = "GetProductsByType", type = string.Empty }
);
il problema è che il nome del parametro di stringa di query sembra essere ignorato in modo che il primo percorso è sempre quello utilizzato, a prescindere il nome del parametro della stringa di query. Come posso modificare il percorso per farlo correttamente?
RouteParameter mi renderebbe utilizzare gli URL come/prodotti/ABC che non sarebbe ovviamente soddisfare il requisito. Devo essere in grado di utilizzare i parametri della stringa di query. – rickythefox