• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETCoreWebAPI路由的有效使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ROUTING

在 .NET Core Web API 项目中,我们应该使用属性路由代替传统路由,这是因为属性路由可以帮助我们匹配路由参数名称与 Action 内的实际参数方法。另一个原因是路由参数的描述,对我们而言,一个名为 "ownerId" 的参数要比 "id" 更加具有可读性。

我们可以使用 [Route] 属性来在控制器的顶部进行标注:

[Route("api/[controller]")]
public class OwnerController : Controller
{
   [Route("{id}")]
   [HttpGet]
   public IActionResult GetOwnerById(Guid id)
   {
   }
}

  

还有另一种方式为控制器和操作创建路由规则:

[Route("api/owner")]
public class OwnerController : Controller
{
   [Route("{id}")]
   [HttpGet]
   public IActionResult GetOwnerById(Guid id)
   {
   }
}

  

对于这两种方式哪种会好一些存在分歧,但是我们经常建议采用第二种方式。这是我们一直在项目中采用的方式。

当我们谈论路由时,我们需要提到路由的命名规则。我们可以为我们的操作使用描述性名称,但对于 路由/节点,我们应该使用 NOUNS 而不是 VERBS。

一个较差的示例:

[Route("api/owner")]
public class OwnerController : Controller
{
   [HttpGet("getAllOwners")]
   public IActionResult GetAllOwners()
   {
   }
   [HttpGet("getOwnerById/{id}"]
   public IActionResult GetOwnerById(Guid id)
   {
   }
}

  

一个较好的示例:

[Route("api/owner")]
public class OwnerController : Controller
{
   [HttpGet]
   public IActionResult GetAllOwners()
   {
   }
   [HttpGet("{id}"]
   public IActionResult GetOwnerById(Guid id)
   {
   }
}

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET链接Access数据库路径问题最终解决方案发布时间:2022-07-10
下一篇:
Redis提供商配置ASP.NET会话状态发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap