【ASP.NET Core Web】コントローラーやアクションをネストしたURLを発行する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【ASP.NET Core Web】コントローラーやアクションをネストしたURLを発行する

2023-9-14

ASP.NET Core WebでコントローラーやアクションをネストしたURLを発行したい!

/controller1/controller2/action/とか/controller/aciton1/action2/みたいな感じ!

概要

今回の記事では、ASP.NET Core WebでコントローラーやアクションをネストしたURLを発行する手順を掲載する。

仕様書

環境

  • .NET 7.0

手順書

コントローラーのURLをネストする手順とアクションのURLをネストする手順の2パターンを挙げる。
併用可。

コントローラーのURLをネストする

コントローラーのURLをネストするにはコントローラーにルーティング属性を設定する。
account/setting/locationを発行する例。

    [Route("account/setting")]
    public class AccountController : Controller
    {
        [HttpGet("location")]
        public IActionResult GetLocation()
        {
            return Ok("nya-n");
        }
    }

[Route("account/setting")]の部分がルーティング属性になる。

アクションのURLをネストする

アクションのURLをネストするにはアクションにルーティング属性を設定する。
account/get/nameを発行する例。

    [Route("account")]
    public class AccountController : Controller
    {
        [HttpGet("get/name")]
        public IActionResult GetName()
        {
            return Ok("nya-n");
        }
    }

[HttpGet("get/name")]の部分がルーティング属性になる。

まとめ(感想文)

これで自由にURLを設定できる予感。