我剛剛開始使用Asp.Net核心(和一般的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繼承。