ASP.NETのルーティング完全ガイド|デフォルトルートとカスタムルートの違いを初心者向けに解説
生徒
「ASP.NETでURLと画面がどうやって結びついているのか分かりません」
先生
「ASP.NETではルーティングという仕組みで、URLと処理内容を結びつけています」
生徒
「ルーティングって難しそうですが、初心者でも理解できますか?」
先生
「大丈夫です。まずはデフォルトルートとカスタムルートの違いから見ていきましょう」
1. ASP.NETにおけるルーティングとは?
ASP.NETのルーティングとは、ブラウザで入力されたURLと、実際に動くプログラムを結びつける仕組みです。たとえば「/Home/Index」というURLを開いたときに、どの画面を表示するかを決める役割を持っています。
パソコンを触ったことがない人向けに例えると、URLは住所、ルーティングは住所録のようなものです。住所録を見て、どの家に行くかを決めているイメージです。
2. デフォルトルートとは何か
デフォルトルートとは、ASP.NETが最初から用意している基本的なURLのルールです。特にASP.NET MVCやASP.NET Coreでは、決まった形のURLを自動で理解してくれます。
一般的には「コントローラ名」「アクション名」「番号」という順番でURLが構成されます。この決まりがあるおかげで、細かい設定をしなくてもWebアプリが動きます。
3. デフォルトルートの基本構文
ASP.NET Coreでよく使われるデフォルトルートの例を見てみましょう。これは「Program.cs」に書かれる設定です。
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"
);
この設定では、URLに何も指定しなければHomeコントローラのIndexが表示されます。「id?」の「?」は省略可能という意味です。
4. デフォルトルートの動き方をイメージする
たとえば、次のURLを入力した場合を考えます。
/Product/Detail/5
この場合、ProductコントローラのDetailという処理が実行され、番号として5が渡されます。デフォルトルートは、住所の書き方が決まっている地図のような存在です。
5. カスタムルートとは何か
カスタムルートとは、自分で自由にURLの形を決められるルーティング方法です。デフォルトルートよりも、読みやすいURLや意味が分かりやすいURLを作りたいときに使います。
ブログ記事や商品ページなど、人が見て分かりやすいURLを作りたい場合に、とても役立ちます。
6. カスタムルートの具体例
次は、商品ページ用にカスタムルートを設定する例です。
app.MapControllerRoute(
name: "product",
pattern: "item/{id}",
defaults: new { controller = "Product", action = "Detail" }
);
この設定により、「/item/10」というURLで商品詳細ページを表示できます。URLが短くなり、内容も分かりやすくなります。
7. デフォルトルートとカスタムルートの違い
デフォルトルートは「決まった型に当てはめる方法」、カスタムルートは「自由に設計できる方法」です。初心者はまずデフォルトルートを使い、慣れてきたらカスタムルートを追加すると理解しやすくなります。
料理で例えると、デフォルトルートはレシピ通りの料理、カスタムルートは自分好みに味付けした料理です。
8. ルーティングがSEOに与える影響
ASP.NETのルーティングは、検索エンジン対策にも関係します。意味の分かるURLは、Googleなどの検索エンジンにも評価されやすい傾向があります。
カスタムルートを使うことで、URLにキーワードを含めやすくなり、ASP.NETで作ったWebサイトでもSEOを意識した設計が可能になります。