zoukankan      html  css  js  c++  java
  • [水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项

    问题

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

    解决方案

    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 所示定义路由可选参数。

  • 相关阅读:
    获取设备型号
    笔记
    福大软工 · 最终作业
    福大软工 · 第十二次作业
    Beta 冲刺(7/7)
    Beta 冲刺(6/7)
    Beta 冲刺(5/7)
    Beta 冲刺(4/7)
    Beta 冲刺(3/7)
    Beta 冲刺(2/7)
  • 原文地址:https://www.cnblogs.com/shuizhucode/p/6112123.html
Copyright © 2011-2022 走看看