I am converting an ASP.NET MVC (.NET Framework) application to ASP.NET Core MVC. This is strictly a conversion, I cannot make any breaking changes hence I cannot change any Routes or Methods. I am unable to match the same functionality in ASP.NET Core MVC.
Working ASP.NET MVC:
[HttpPut]
[Route("status")]
public async Task<IHttpActionResult> UpdateStatusByOrderGuid([FromUri] Guid orderGUID, [FromBody] POST_Status linkStatusModel)
{
}
[HttpPut]
[Route("status")]
public async Task<IHttpActionResult> UpdateStatusById([FromUri] Guid id, [FromBody] POST_Status linkStatusModel)
{
}
Not working, ASP.NET Core MVC.
I get an error:
Microsoft.AspNetCore.Routing.Matching.AmbiguousMatchException: The request matched multiple endpoints
Code:
[HttpPut]
[Route("status")]
public async Task<IActionResult> UpdateStatusByOrderGuid([FromQuery] Guid orderGUID, [FromBody] POST_Status statusModel)
{
}
[HttpPut]
[Route("status")]
public async Task<IActionResult> UpdateStatusById([FromQuery] Guid id, [FromBody] POST_Status statusModel)
{
}
I need to include the query parameters when it resolves which route. It should match based on whether orderGUID or id is in the query string.
Thanks.
