基于属性的路由VS基于约定的路由 - ASP.net核心RESTful API的最佳实践
问题描述:
我是一位经验丰富的.NET开发人员,使得我在.NET Core中的第一步在传递的几天内更具体,在构建RESTful API方面更具体ASP.net核心。基于属性的路由VS基于约定的路由 - ASP.net核心RESTful API的最佳实践
我知道有2个可能的路由选项 - 约定路由(传统)与基于属性的路由(更新)。
我读过ASP.net核心的开发团队建议使用基于属性的路由API(API)而不是传统的基于Convention的路由,它更适合于MVC应用。
我真的很想明白 - 为什么?
似乎基于属性的路由使我们编写更多的代码,其结果与传统路由具有相同的行为。
答
这两个选项都有效。以下是关于何时使用每一个的一些建议。 考虑在以下情况下选择传统路线:
- 您希望集中配置所有路线。
- 您使用自定义约束对象。
- 你有你不希望现有的工作程序改变
时考虑选择属性路线:
- 你想你的路由与动作的代码保持在一起
- 你是创建新应用程序或对现有的应用程序进行重大更改。
- 您想要将路由参数名称与方法的实际参数(action)进行匹配,这将使路由参数更具描述性,并省略路由ID不匹配的奇怪错误,这通常是因为我们没有正确配置路由,并使用asp.net默认路由。
但为何许多开发商建议Attribute Routes
是因为它可以让你相当多的灵活性,并把旁边将实际使用它们的行动路线。 你可以在任何时候从选项切换到另一个不难
这个建议写在哪里,你能分享一下吗? –
这个问题主要是基于意见的。阅读文档https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing并选择最适合您需求的文档。 – Nkosi
@emrenevayeshirazi - 我一直在观看Kevin Dockx关于使用ASP.net核心构建RESTful服务的Pluralsight课程。该课程的作者在那里表示。 – DotnetProg