私はAsp.Net Core(とasp.netの一般的なもの)を使い始めています。残りのAPI用の素晴らしいコントローラクラスを構築しようとしています。私は単一のクラスにこれを置くことができます実現Asp.Netコアコントローラのルートとロジックの再利用
[Route("/api/v1/users/{id}")]
public class UserController: Controller
{
protected int userId;
public override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
// Validate userId..
userId = (int) RouteData.Values["id"];
}
[HttpGet]
public IActionResult Info()
{
// Use this.userId here
return this.Json("User info..");
}
}
[Route("/friends")]
public class UserFriendsController: UserController
{
[HttpGet]
public IActionResult Info()
{
// Use this.userId here
return this.Json("List of user's friends..");
}
}
:私は(非作業例)そうのようなリソースのためにこのような検証などのルートとロジックを再定義を避けるためにベースコントローラを継承しようとしている
実際のシナリオでは、すべてがUserControllerから継承したいコントローラが増えています。