2017-02-25 187 views
4

我是一位經驗豐富的.NET開發人員,使得我在.NET Core中的第一步在傳遞的幾天內更具體,在構建RESTful API方面更具體ASP.net核心。基於屬性的路由VS基於約定的路由 - ASP.net核心RESTful API的最佳實踐

我知道有2個可能的路由選項 - 約定路由(傳統)與基於屬性的路由(更新)。

我讀過ASP.net核心的開發團隊建議使用基於屬性的路由API(API)而不是傳統的基於Convention的路由,它更適合於MVC應用。

我真的很想明白 - 爲什麼

似乎基於屬性的路由使我們編寫更多的代碼,其結果與傳統路由具有相同的行爲。

+0

這個建議寫在哪裏,你能分享一下嗎? –

+0

這個問題主要是基於意見的。閱讀文檔https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routing並選擇最適合您需求的文檔。 – Nkosi

+0

@emrenevayeshirazi - 我一直在觀看Kevin Dockx關於使用ASP.net核心構建RESTful服務的Pluralsight課程。該課程的作者在那裏表示。 – DotnetProg

回答

6

這兩個選項都有效。以下是關於何時使用每一個的一些建議。 考慮在以下情況下選擇傳統路線:

  • 您希望集中配置所有路線。
  • 您使用自定義約束對象。
  • 你有你不希望現有的工作程序改變

時考慮選擇屬性路線:

  • 你想你的路由與動作的代碼保持在一起
  • 你是創建新應用程序或對現有的應用程序進行重大更改。
  • 您想要將路由參數名稱與方法的實際參數(action)進行匹配,這將使路由參數更具描述性,並省略路由ID不匹配的奇怪錯誤,這通常是因爲我們沒有正確配置路由,並使用asp.net默認路由。

但爲何許多開發商建議Attribute Routes是因爲它可以讓你相當多的靈活性,並把旁邊將實際使用它們的行動路線。 你可以在任何時候從選項切換到另一個不難