MVC projesini güncelleyin
En yeni Web API'sini edinmek için Nuget'i kullanın .
Proje - Sağ tıklayın - Nuget Paketlerini Yönet - Web API (Microsoft ASP.NET Web API ...) arayın ve MVC projenize yükleyin.
O halde yine de çalışmak için Web API yönlendirmesine ihtiyacınız var . Gönderen Microsoft'un Yapılandırma ASP.NET Web API 2
App_Start / klasörüne WebApiConfig.cs ekleyin
using System.Web.Http;
namespace WebApplication1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
}
}
}
Bir MVC Projeniz varsa, Global.asax.cs olacaktır , yeni yolları ekleyin. Global.asax.cs yollarının sırası kritiktir. Kullanan eski örnekler olduğunu unutmayın
WebApiConfig.Register
Bu satırı Global.asax.cs'ye ekleyin:
GlobalConfiguration.Configure(WebApiConfig.Register);
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
WebAPI Yardımı
( Çok ) yararlı WebAPI yardım sayfalarını almak için WebAPI.HelpPage'i yükleyin. Bkz http://channel9.msdn.com/Events/Build/2014/3-644 (~ 42 dakika içinde) ne demek için. Çok yardımcı görünüyor!
Nuget Konsolu: Install-Package Microsoft.AspNet.WebApi.HelpPage
WebAPI'nin çalıştığını doğrulamak için:
Denetleyiciler klasörüne -> Yeni öğe ekle -> Web API Denetleyici Sınıfı.
public class TestController : ApiController
{
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
public string Get(int id)
{
return "value";
}
}
Artık her zamanki gibi IE / FF / Chrome'da veya almayan testler için JavaScript konsollarında test edebilirsiniz.
(URL'deki yalnızca denetleyici ile yeni Web API Denetleyicisindeki GET () eylemini çağırır, REST'e bağlı olarak yöntemlere / eylemlere otomatik olarak eşlenir, örneğin PUT / POST / GET / DELETE. bunları MVC'deki gibi eyleme göre) URL doğrudan:
http:
Alternatif olarak , denetleyiciyi sorgulamak için jQuery kullanın. Projeyi çalıştırın, Konsolu açın (IE'de F12) ve bir Ajax sorgusu çalıştırmayı deneyin. (PORT & DENETLEYİCİ ADınızı kontrol edin)
$.get( "http://localhost:PORT/api/CONTROLLERNAME/", function( data ) {
alert( "Get data received:" + data);
});
Yan not: Bir projede MVC ve Web API'yi birleştirirken dikkate alınması gereken bazı artılar / eksiler vardır
WebAPI Yardım doğrulaması:
http://localhost:PORT/help