Utilizzando il percorso standard:WebAPI Più azioni sono state trovate con GetAll() e GetByIds (int [] IDS)
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Con queste azioni:
public class ValuesController : ApiController
{
// GET api/values
public string GetAll()
{
return "all";
}
// GET api/values/5
public string GetById(int id)
{
return "single";
}
// GET api/values?ids=1&ids=2
public string GetByIds([FromUri] int[] ids)
{
return "multiple";
}
e fare una richiesta per /API/valori, ottengo questa eccezione:
Multiple actions were found that match the request:
System.String GetAll() on type MvcApplication4.Controllers.ValuesController
System.String GetByIds(Int32[]) on type MvcApplication4.Controllers.ValuesController
Sto filando le ruote cercando di f ind soluzione a questo. Sono convinto che le azioni GetAll e GetByIds siano considerate Più qui, ma non lo sono perché GetByIds ha una firma diversa.
C'è una soluzione per questo che non comporta l'aggiunta di {action}
al percorso?
Potrebbe pubblicare il WebAPI Route.Config? – Fals
Aggiunto @Fals, sono i bit standard – Levitikon