如何将类作为参数传递给AspNetCore控制器HTTP函数

时间:2019-05-08 20:48:16

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

我正在使用使用MVC的ASP .NET Core Web应用程序项目模板构建HTTP API。我已经定义了自己的控制器,该控制器为特定的HTTP GET URL提供实现。在此函数中,我想将一个对象(“程序”)传递到此函数中,以便为响应提供值。控制器代码如下所示:

[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
    private Program context;

    // GET api/user/
    // Returns general information about a user
    [HttpGet("{id:int}/info")]
    public ActionResult<IEnumerable<string>> Get(Program ctx, int id)
    {
        this.context = ctx;

        // Locate the desired user
        var user = ctx.GetUserById(id);

        return new string[] { "value1", "value2" };
    }
}

我已经用Postman测试了该方法,并且当我省略'Program'参数时,将正确提供响应。但是当我如上所述运行它时,我收到一个包含以下内容的400 Bad Request响应:

{
"": [
    "The input was not valid."
]

我不熟悉C#和MVC,因此如果我尝试做的事情没有任何意义,我深表歉意,但这似乎是我正确提供响应的唯一逻辑方法。

任何帮助将不胜感激!

0 个答案:

没有答案