Cập nhật dự án MVC
Sử dụng Nuget để nhận API Web mới nhất.
Dự án - Nhấp chuột phải - Quản lý các gói Nuget - Tìm kiếm API Web (Microsoft Web Web API ...) và cài đặt nó vào dự án MVC của bạn.
Sau đó, bạn vẫn cần phải định tuyến API Web để hoạt động. Từ Microsoft Cấu hình ASP.NET Web API 2
Thêm WebApiConfig.cs vào thư mục App_Start /
using System.Web.Http;
namespace WebApplication1
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// TODO: Add any additional configuration code.
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// WebAPI when dealing with JSON & JavaScript!
// Setup json serialization to serialize classes to camel (std. Json format)
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
}
}
}
Nếu bạn có Dự án MVC, nó sẽ có Global.asax.cs , thêm các tuyến mới. Thứ tự của các tuyến Global.asax.cs là rất quan trọng. Lưu ý có những ví dụ lỗi thời sử dụng
WebApiConfig.Register
Thêm dòng này vào Global.asax.cs:
GlobalConfiguration.Configure(WebApiConfig.Register);
protected void Application_Start()
{
// Default stuff
AreaRegistration.RegisterAllAreas();
// Manually installed WebAPI 2.2 after making an MVC project.
GlobalConfiguration.Configure(WebApiConfig.Register); // NEW way
//WebApiConfig.Register(GlobalConfiguration.Configuration); // DEPRECATED
// Default stuff
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Trợ giúp về WebAPI
Để có được các trang trợ giúp WebAPI ( rất ) hữu ích , hãy cài đặt WebAPI.HelpPage. Xem http://channel9.msdn.com/Events/Build/2014/3-644 (~ 42 phút) để biết những gì nó làm. Có vẻ rất hữu ích!
Bảng điều khiển Nuget: Install-Package Microsoft.AspNet.WebApi.HelpPage
Để xác minh WebAPI đang hoạt động:
Vào thư mục bộ điều khiển -> Thêm mục mới -> Lớp Trình điều khiển API Web.
public class TestController : ApiController
{
//public TestController() { }
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
//...
}
Bây giờ bạn có thể kiểm tra trong IE / FF / Chrome như bình thường hoặc trong bảng điều khiển JavaScript để không kiểm tra.
(Chỉ với bộ điều khiển trong URL, nó sẽ gọi hành động GET () trong Trình điều khiển API Web mới, nó sẽ tự động được ánh xạ tới các phương thức / hành động tùy thuộc vào REST, ví dụ PUT / POST / GET / DELETE. Bạn không cần gọi chúng bằng hành động như trong MVC) URL trực tiếp:
http://localhost:PORT/api/CONTROLLERNAME/
Hoặc sử dụng jQuery để truy vấn bộ điều khiển. Chạy dự án, Mở bàn điều khiển (F12 trong IE) và thử chạy truy vấn Ajax. (Kiểm tra PORT & CONTROLLERNAME của bạn)
$.get( "http://localhost:PORT/api/CONTROLLERNAME/", function( data ) {
//$( ".result" ).html( data );
alert( "Get data received:" + data);
});
Lưu ý bên lề: Có một số ưu / nhược điểm cần xem xét khi kết hợp MVC và Web API trong một dự án
WebAPI Trợ giúp xác minh:
http://localhost:PORT/help