webapi教程地址:https://docs.microsoft.com/zh-cn/aspnet/web-api/
路由属性
1,HTTP 方法
[HttpDelete]
[HttpGet]
[HttpHead]
[HttpOptions]
[HttpPatch]
[HttpPost]
[HttpPut]
非标准的方法,使用AcceptVerbs属性
2,路由前缀
整个控制器设置公共前缀[RoutePrefix]属性
需要重写的方法可以使用:方法特性上使用波形符 (~) 来重写的路由前缀
[Route("~/api/authors/{authorId:int}/books")]
3,路由约束
常规语法"{参数: 约束}"
约束 描述 示例
Alpha 匹配大写或小写拉丁字母字符 (a-z、 A-Z) {x: 字母}
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)}
正则表达式 与正则表达式匹配。 {x:regex(^\d{3}-\d{3}-\d{4}$)}
4,自定义的路由约束
5,路由名称
6,路由顺序