Les étapes que je devais effectuer étaient :
- Ajouter une référence à
System.Web.Http.WebHost
.
- Ajouter
App_Start\WebApiConfig.cs
(voir l'extrait de code ci-dessous).
- Importer l'espace de noms
System.Web.Http
en Global.asax.cs
.
- Appelez
WebApiConfig.Register(GlobalConfiguration.Configuration)
en MvcApplication.Application_Start()
(en fichier Global.asax.cs
), avant d'enregistrer la route par défaut de l'application Web, qui aurait autrement la priorité.
- Ajouter un contrôleur dérivant de
System.Web.Http.ApiController
.
Je pourrais alors apprendre suffisamment de le tutoriel (Your First ASP.NET Web API) pour définir mon contrôleur d'API.
App_Start \WebApiConfig.cs :
using System.Web.Http;
class WebApiConfig
{
public static void Register(HttpConfiguration configuration)
{
configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
}
}
Global.asax.cs :
using System.Web.Http;
...
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
WebApiConfig.Register(GlobalConfiguration.Configuration);
RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Mise à jour 10.16.2015 :
Le paquet NuGet Microsoft.AspNet.WebApi doit être installé pour que le programme ci-dessus fonctionne.