C# WebApi 路由机制剖析

2019-12-30 19:56:53刘景俊

一般情况下,当我们新建一个WebApi项目的时候,会自动在Register方法里面加上这句话。

2、最简单的特性路由

我们在OrderController这个控制器里面加这个action


[Route("Order/SaveData")]
  [HttpPost]
  public HttpResponseMessage SavaData(ORDER order)
  {
   return Request.CreateResponse();
  }

然后我们通过Web里面的Ajax调用


$(function () {
 $.ajax({
  type: 'post',
  url: 'http://www.easck.com/>

特性路由的目的是为了解决我们公共路由模板引擎解决不了的问题。一个action定义了特性路由之后,就能通过特性路由上面的路由规则找到。

3、带参数的特性路由

特性路由的规则可以使用“{}”占位符动态传递参数,比如我们有这样一个特性路由


[Route("ordertype/{id}/order")]
  [HttpGet]
  public IHttpActionResult GetById(int id)
  {
   return Ok<string>("Success" + id );
  }

在浏览器里面调用

C#,WebApi,路由机制

调用成功。到此,我们就能看懂本文最开始那个看似“怪异”的路由→/api/user/1/detail这个了。