У меня была странная проблема с CreatedAtAction: если имя моего метода оканчивается ключевым словом «Async», я получаю ошибку 500 «ни один маршрут не соответствует предоставленным значениям», когда я возвращаю CreatedAtAction из моего метода Add. Если я добавлю что-нибудь еще в качестве имени метода, например GetRatePlanAs, GetRatePlanAsyncA или GetRatePlan, тогда это будет работать как шарм.
Также будет работать, если я добавлю [ActionName ("GetRatePlanAsync")], но я не хотел этого делать.
CreatedAtAction:
return CreatedAtAction(nameof(GetRatePlanAsync), new { ... }, null);
Не работает:
[HttpGet]
[Route("item")]
public async Task<ActionResult> GetRatePlanAsync(...)
Работает:
[HttpGet]
[Route("item")]
[ActionName("GetRatePlanAsync")]
public async Task<ActionResult> GetRatePlanAsync(...)
Также работают:
[HttpGet]
[Route("item")]
public async Task<ActionResult> GetRatePlan(...)