- 先前介紹網頁的 Routing Engine,而在 WebAPI 的 Routing Engine 是獨立分開
- Step 2. App_Start 中 WebApiConfig.cs 為 WebApi 的 Routing Engine
using System.Web.Http;
namespace MVCWebApi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 設定和服務
// Web API 路由
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
- Step 3. Global.asax 中也有註冊
using System.Web.Http;
namespace MVCWebApi
{
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
}
- Step 4. 創建 API Controller
- Step 5. 預設會幫你建立一組完整的 HTML API,而 Controller 繼承為 ApiController
using System.Collections.Generic;
using System.Web.Http;
namespace MVCWebApi.Controllers
{
public class DemoController : ApiController
{
// GET: api/Demo
public IEnumerable Get()
{
return new string[] { "value1", "value2" };
}
// GET: api/Demo/5
public string Get(int id)
{
return "value";
}
// POST: api/Demo
public void Post([FromBody]string value)
{
}
// PUT: api/Demo/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE: api/Demo/5
public void Delete(int id)
{
}
}
}
- Step 6. 測試,如有特殊的 Routing 一樣需在 WebApiConfig 中註冊
沒有留言:
張貼留言