zoukankan      html  css  js  c++  java
  • WebApi路由约束

    转载自https://www.cnblogs.com/lgx5/p/10967720.html

    路由约束让我们可以限制模板参数的匹配方式。一般的语法是 "{参数:约束类型}":

    [Route("users/{id:int}"]
    public User GetUserById(int id) { ... }
    
    [Route("users/{name}"]
    public User GetUserByName(string name) { ... }

     如果参数int,则选中第一个GetUserById,否则是GetUserByName。(跟方法定义的顺序无关)

    下面的表格列出了支持的约束

    约束介绍示例
    alpha 匹配大写或小写字母 (a-z, A-Z) {x:alpha}
    bool   {x:bool}
    datetime   {x:datetime}
    decimal   {x:decimal}
    double   {x:double}
    float 匹配一个 32位浮点数 {x:float}
    guid   {x:guid}
    int   {x:int}
    length 匹配一个长度在指定范围内的字符串 {x:length(6)}
    {x:length(1,20)}
    long   {x:long}
    max 匹配指定了最大值的整数 {x:max(10)}
    maxlength 匹配指定了最大长度字符串 {x:maxlength(10)}
    min 匹配指定了最小值的整数 {x:min(10)}
    minlength 匹配指定了最小长度字符串 {x:minlength(10)}
    range 匹配指定了大小区间的整数 {x:range(10,50)}
    regex 匹配一个正则表达式 {x:regex(^d{3}-d{3}-d{4}$)}

     如果要指定多个约束,需要用冒号间隔 [Route("users/{id:int:min(1)}")]。

  • 相关阅读:
    Variational Autoencoders and Nonlinear ICA: A Unifying Framework
    各层的特征的差异性
    TriggerBN +
    Exponential family of distributions
    个人加分项
    对老师的建议
    2021.6.19
    2021.6.18
    2021.6.17
    2021.6.16
  • 原文地址:https://www.cnblogs.com/DarkRoger/p/13535707.html
Copyright © 2011-2022 走看看