ASP.NET Core中路由规则匹配

RESTful约束,如果在一个控制器里面有多个Get、Post...的操作
1、在一个控制器里面可以定义多个API方法
2、通过路由规则来区分

/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
[HttpGet]
public User GetUser()
{
//...
}

GetUser()对应的Request URL:https://localhost:7197/api/AttributeRoute

/// <summary>
/// 根据用户ID查询用户
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
[HttpGet]
[Route("{userid:int}")] //int表示对参数类型的约束
public User GetUserByID(int userid)
{
//...
}
GetUserByID()对应的Request URL:https://localhost:7197/api/AttributeRoute/100

对于GetUserByID()方法,因为增加了路由规则的约束,当把对应的URL复制在浏览器里面运行的时候,如果参数类型不对,会出现不同的结果
1、当参数类型是所规定的类型时候,会返回方法运行结束之后的信息。
2、当参数类型不是所规定的类型时候,会返回
找不到 localhost 的网页
找不到与以下网址对应的网页:https://localhost:7197/api/AttributeRoute/ddd
HTTP ERROR 404

posted @ 2023-08-14 16:18  算盘  阅读(17)  评论(0编辑  收藏  举报