我是一名经验丰富的 .NET 开发人员,在过去的几天里迈出了我在 .NET Core 中的第一步,更具体地说是使用 ASP.net Core 构建 RESTful API。
我知道有 2 种可能的路由选项 - 约定路由(传统)与基于属性的路由(较新)。
我读到ASP.net core 的开发团队建议为 API 使用基于属性的路由,而不是传统的基于约定的路由,后者更适合 MVC 应用程序。
我真的很想了解 - 为什么?
看起来基于属性的路由让我们写了更多的代码,最终却和传统的路由有相同的行为。
两个选项都有效。以下是关于何时使用每一个的一些建议。
在以下情况下考虑选择传统路线:
- 您希望集中配置所有路由。
- 您使用自定义约束对象。
- 您有不想更改的现有工作应用程序
在以下情况下考虑选择属性路由:
- 您想将路线与操作代码放在一起
- 您正在创建一个新的应用程序或对一个应用程序进行重大更改
现有的。
- 您想将路由参数名称与方法(操作)的实际参数匹配,这将使路由参数更具描述性并省略路由 ID 不匹配的奇怪错误,这通常是因为我们没有正确配置路由,我们使用的是 asp.net 默认路由。
但许多开发人员推荐 Attribute Routes
的原因是它可以让您更加灵活,并将路由放置在实际使用它们的操作旁边.
您可以随时从选项切换到另一个并不困难