2017-02-25 17 views
4

私は経験豊富な.NET開発者であり、.NETコアの最初のステップは数日間に渡り、より具体的にはRESTful APIを使用して構築します。 ASP.netコア。属性ベースのルーティングVSコンベンションベースのルーティング - ASP.netコアのベストプラクティスRESTful API

私は2つの可能なルーティングオプションがあることを知っています - Convention Routing(従来)とAttribute Based Routing(新しい)。

私は、ASP.netコアの開発チームの推奨では、MVCアプリケーションにより適した伝統的なConvention Based Routingではなく、APIの属性ベースルーティングを使用することを推奨しています。

私は本当に理解したいです - なぜ

属性ベースのルーティングは、従来のルーティングと同じ動作をするより多くのコードを書き込むように思えます。

+0

どこにこの勧告が書かれていますか、どうぞ分かりますか? –

+0

この質問は主に意見に基づいています。 https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/routingのドキュメントを読んで、ニーズに最も適したものを選択してください。 – Nkosi

+0

@emrenevayeshirazi - 私は、ASP.netコアを使用してRESTfulなサービスを構築することに関するKevin DockxのPluralsightコースを見てきました。コースの著者は、そこに述べた。 – DotnetProg

答えて

6

両方のオプションが有効です。以下は、それぞれを使用するときのいくつかの提案です。 従来ルートの選択を検討してください。

  • すべてのルートを集中的に構成したい場合。
  • カスタム制約オブジェクトを使用します。あなたがいる
  • あなたの行動のコードと一緒にあなたのルートを維持したい

    • あなたは持っているあなたがしたくない既存の作業アプリケーションは、とき

    が属性ルートを選択することを考慮変更するには新しいアプリケーションを作成するか、 が大幅に変更されました。

  • ルートパラメータ名をメソッドの実際のパラメータ(アクション)と一致させたい場合は、ルートパラメータをよりわかりやすくし、ルートIDが一致せず、通常は発生しない奇妙なエラーを省略します正しくルーティングを設定し、asp.netのデフォルトルートを使用していました。

しかし、多くの開発者がAttribute Routesをお勧めする理由、それはあなたのかなり多くの柔軟性を可能にし、実際にそれらを使用するアクションの隣にルートを置くためです。 いつでもオプションから別のものに切り替えることは難しくありません

関連する問題