.NET Core:在控制器的构造函数中获取参数值

时间:2019-11-22 13:15:37

标签: c# asp.net-core model-view-controller .net-core

我已经解决了这个问题,但这不是我要寻找的get parameters from URL in controller constructor

比方说,在ASP.NET Core控制器中,我需要一些方法。假设控制器类似:

public class ClassroomsController : Controller {

    private string requestedUserId;

    // C O N S T R U C T O R
    public ClassroomsController()
    {
        /**** THIS POINT ***/
        requestedUserId = ;
    }

    [HttpGet("Classrooms/API01/{userId}")]
    public IActionResult API01(string userId)
    {

    }

    [HttpGet("Classrooms/API02/{userId}")]
    public IActionResult API02(string userId)
    {

    }
}

我想要的是我是否要在 Classrooms / API02 Classrooms / API01 中请求,请根据参数userId在构造函数中启动请求的UserId

1 个答案:

答案 0 :(得分:2)

  

我想要的是我是否要在Classrooms / API02或Classrooms / API01中请求,在API01和API02中的参数userId的基础上,在构造函数中启动requestedUserId

简短答案:不可能。

所有与请求相关的逻辑都需要在动作本身内发生。

public class ClassroomsController : Controller {

    // C O N S T R U C T O R
    public ClassroomsController() {
        //...
    }

    [HttpGet("Classrooms/API01/{userId}")]
    public IActionResult API01(string userId) {
        string requestedUserId = userId;

        //...
    }

    [HttpGet("Classrooms/API02/{userId}")]
    public IActionResult API02(string userId) {
        string requestedUserId = userId;

        //...
    }
}

如果需要调用某些通用功能,则将其移至可以在调用时由控制器操作调用的方法。