WebAPI的路由规则
2021-04-25 03:30
标签:new xxx 传递参数 selector get 引擎 bsp ati get、post、 1.自定义路由 得到了控制器对象之后,Api引擎通过调用IHttpActionSelector这个接口的SelectAction()方法去匹配action。这个过程主要包括: 如果路由模板配置了{action},那么找到对应的action就很简单,如果没有配置action,则会首先匹配请求类型(get/post/put/delete等),然后匹配请求参数,找到对应的action。 2、最简单的特性路由 特性路由的目的是为了解决我们公共路由模板引擎解决不了的问题。一个action定义了特性路由之后,就能通过特性路由上面的路由规则找,特性路由的规则可以使用“{}”占位符动态传递参数,比如我们有这样一个特性路由 WebAPI的路由规则 标签:new xxx 传递参数 selector get 引擎 bsp ati get、post、 原文地址:http://www.cnblogs.com/l1pe1/p/7927602.htmlpublic static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API 路由
config.MapHttpAttributeRoutes();
//1.默认路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//2.自定义路由一:匹配到action
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "actionapi/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//3.自定义路由二
config.Routes.MapHttpRoute(
name: "TestApi",
routeTemplate: "testapi/{controller}/{ordertype}/{id}",
defaults: new { ordertype="aa", id = RouteParameter.Optional }
);
}
}
[HttpGet]
public IHttpActionResult GetById(int id)
{
return Ok
[Route("Order/SaveData")]
[HttpPost]
public HttpResponseMessage SavaData(ORDER order)
{
return Request.CreateResponse();
}
[Route("ordertype/{id}/order")]
[HttpGet]
public IHttpActionResult GetById(int id)
{
return Ok