码迷,mamicode.com
首页 > Windows程序 > 详细

[水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项

时间:2016-11-29 09:55:35      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:pat   ram   演示   参数   成功   工作   .net   route   框架   

问题

怎么样创建一个路由,不管客户端传不传这个参数,都可以被成功匹配。

 

解决方案

ASP.NET WEB API 的集中式路由和属性路由都支持路由声明可选参数。

 

在用集中式路由中可以通过 RouteParameter.Optional 指定一个可选参数,RouteParameter.Optional 等同于MVC 中的 UrlParameter.Option。

 

技术分享

 

属性路由,通过在可选参数后面添加一个问好作为后缀。同时,必须为其指定默认值

 

 技术分享

 

工作原理

从根本上看,ASP.NET WEB API 支持的可选参数路由其实是默认值路由的一个变种。RouteParamter 在代码片段 3-8 中是一个可变类型。这个示例主要是为了做一个比较,来说明路由可选参数是路由默认值的一个变种。

 

 技术分享

 

属性路由中,添加问号后缀路由参数转换为 RouteEntry,使用 RouteParameter.Optional 的默认值。

 

在运行时,当框架处理 HTTP 请求的时候,如果可选参数没有值,HttpRoutingDispatcher 会移除他们。他是可以支持 /resource 和 /resource/{optionalParameter}。

 

代码演示

如代码片段 3-9 所示,使用的属性路由定义路由可选参数,这个是允许客户端传参进行基本的分页。

 

技术分享

 

同样的路由,我们可以使用集中式路由如代码片段 3-10 所示定义路由可选参数。

 

技术分享

 

[水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项

标签:pat   ram   演示   参数   成功   工作   .net   route   框架   

原文地址:http://www.cnblogs.com/shuizhucode/p/6112123.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!