Temel olarak, bir Web API
denetleyici, yanıtının temel türü olarak MVC
kullanan bir denetleyicidir . Diğer açılardan da aynıdır. Proje türleri arasındaki temel fark, proje türünün varsayılan değer , web sitesi için gereken ve API için gerekli olmayan diğer kaynaklar gibi web'e özgü şeyler eklemesidir.HttpMessageResponse
ActionResponse
MVC Application
CSS
JavaScript
MVC web siteleri oluşturmak için kullanılır. Bu durumda Controllers
genellikle View
tarayıcı isteklerine bir (yani HTML yanıtı) döndürün. Öte yandan web API'leri genellikle diğer uygulamalar tarafından tüketilir. Diğer uygulamaların verilerinize / işlevlerinize erişmesine izin vermek istiyorsanız, bu erişimi kolaylaştırmak için bir Web API'si oluşturabilirsiniz. Örneğin, Facebook'un Uygulama geliştiricilerin Uygulamayı kullanan kullanıcılar hakkındaki bilgilere erişmesine izin vermek için bir API'si vardır. Web API'lerinin kamu tüketimi için olması gerekmez. Ayrıca, kendi uygulamalarınızı desteklemek için bir API oluşturabilirsiniz. Örneğin, MVC web sitemizin AJAX işlevselliğini desteklemek için bir Web API oluşturduk.
Microsoft, farklı şablonları sunma yöntemlerini değiştirdi. Şimdi, farklı proje türleri için farklı şablonlar kullanmak yerine, geliştiricileri ASP.NET teknolojilerini gerektiği gibi aynı proje içinde karıştırmaya teşvik ediyorlar. Microsoft bunu çağırıyor vNext
.
GÜNCELLEME: ASP.NET Core için, Web API MVC 6 proje türüne entegre edilmiştir ve ApiController
sınıf sınıfa birleştirilir Controller
. Daha fazla bilgi için: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6