我的asp.net核心控制器方法有什么问题?

时间:2019-12-03 02:04:21

标签: asp.net-core asp.net-core-webapi asp.net-core-2.1

在我的asp.net核心应用程序中,我们在App StartUp配置中使用默认的MVC路由。

然后在我们的控制器中,我们的api端点方法之一具有以下代码:

  [HttpGet]
  [Route("services/task/{taskid?}/{taskmessage?}")]
  [Produces("text/html")]
  public async Task<ActionResult> TaskMessage(string taskId = null, string queue = null, string taskmessage = null)

然后,我们尝试通过仅将taskmessage作为以下URL传递来调用端点:
http://localhost:12345/api/services/task?taskmessage=hello

但是,它在这里不起作用。任何人都可以让我知道我哪里做错了吗?它正在我们的ASP.Net项目中运行,但是一旦我们迁移到ASP.NET核心,它就无法运行。

顺便说一句,如果需要的话,我们当前使用的ASP.NET Core F / W版本是ASP.NET Core 2.1。

1 个答案:

答案 0 :(得分:0)

对于类似(但不同)的问题的回答如下:Can't bind params using [FromQuery] ASP Net Core 2 API

  

[FromHeader],[FromQuery],[FromRoute],[FromForm]:使用它们来指定要应用的确切绑定源。

他们引用了以下链接:https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-2.1,其中讨论了各种模型绑定方法。