路由约束
路由约束允许你限制路径模板中的参数匹配方式。一般语法是{parameter:constraint}。例如:
// eg: /users/5
[Route(“users/{id:int}”]
public ActionResult GetUserById(int id) { … }
// eg: users/ken
[Route(“users/{name}”]
public ActionResult GetUserByName(string name) { … }
这里,只有在 URI 的 id
段是整数时才会选择第一个路径。否则,将选择第二条路线。
常量 | 描述(匹配:) | 例 |
---|---|---|
alpha |
大写或小写拉丁字母字符(az, AZ) | {x:alpha} |
bool |
布尔值。 | {X:bool} |
datetime |
DateTime 值。 | {X:datetime} |
decimal |
十进制值。 | {X:decimal} |
double |
64 位浮点值。 | {X:double} |
float |
32 位浮点值。 | {X:float} |
guid |
GUID 值。 | {X:guid} |
int |
32 位整数值。 | {X:int} |
length |
具有指定长度或在指定长度范围内的字符串。 | {X:length(6)} {X:length(1,20)} |
long |
64 位整数值。 | {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} $)} |