在我的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。
答案 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,其中讨论了各种模型绑定方法。