路由約束
路由約束允許你限制路徑模板中的引數匹配方式。一般語法是{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} $)} |