Выполните следующие действия:
1- Добавьте файл webapiconfig.cs в папку App_Start
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
2- В файле Global.ascs.cs добавьте новую строку, указанную в комментарии. Ваша функция Application_Start должна выглядеть следующим образом.
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);//new line for webapi
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
3 - Теперь добавьте новый apicontroller, как показано ниже.
public class TestController : ApiController
{
public IHttpActionResult GetAll()
{
return Json("test");
}
}
4 - URL Api будет похож на "http://localhost:61012/api/Test/GetAll"
5- Не забудьте добавить этот пакет nuget: Microsoft.AspNet.WebApi