我正在使用使用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,因此如果我尝试做的事情没有任何意义,我深表歉意,但这似乎是我正确提供响应的唯一逻辑方法。
任何帮助将不胜感激!