Salve,sto cercando di impementare su di un sito mvc4 un apicontroller.
Il problema è che gia di default, appena creato il controller quindi, ottengo un 404 quando questo viene richiamato.
Nel global.asax ho questo codice:
codice:
protected void Application_Start()
{
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); ;
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
}
La classe webapi è quella standard:
codice:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
La classe controller invece è contenuta nella dir Controller/Api ed è una classe creata con il wizard:
codice:
namespace prova.Controllers.Api
{
public class ContactController : ApiController
{
public ContactController()
{
Debug.Print("prova");
}
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
public string Get(int id)
{
return "value";
}
public void Post([FromBody]string value)
{
Debug.Print("Post([FromBody]string value)");
}
public void Put(int id, [FromBody]string value)
{
Debug.Print("Put(int id, [FromBody]string value)");
}
public void Delete(int id)
{
Debug.Print("Delete(int id)");
}
}
}
La url richiamata è : baseurl/api/Contact/5
ma ottengo 404.
Potete dirmi dove sto sbagliando?