Os parâmetros são suportados diretamente no MVC simplesmente adicionando parâmetros aos seus métodos de ação. Dada uma ação como a seguinte:
public ActionResult GetImages(string artistName, string apiKey)
O MVC preencherá automaticamente os parâmetros quando receber um URL como:
/Artist/GetImages/?artistName=cher&apiKey=XXX
Um caso especial adicional são os parâmetros denominados "id". Qualquer parâmetro chamado ID pode ser colocado no caminho, e não na string de consulta, algo como:
public ActionResult GetImages(string id, string apiKey)
seria preenchido corretamente com um URL como o seguinte:
/Artist/GetImages/cher?apiKey=XXX
Além disso, se você tiver cenários mais complicados, poderá personalizar as regras de roteamento que o MVC usa para localizar uma ação. Seu arquivo global.asax contém regras de roteamento que podem ser personalizadas. Por padrão, a regra fica assim:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Se você quisesse suportar um URL como
/Artist/GetImages/cher/api-key
você pode adicionar uma rota como:
routes.MapRoute(
"ArtistImages", // Route name
"{controller}/{action}/{artistName}/{apikey}", // URL with parameters
new { controller = "Home", action = "Index", artistName = "", apikey = "" } // Parameter defaults
);
e um método como o primeiro exemplo acima.