在ASP.NET Core 3.0中,如果使用CreatedAtRoute
方法时提供的值没有匹配的路由,可能会出现问题。要解决这个问题,可以按照以下步骤进行操作:
HttpPost
操作方法上使用了[Route]
属性,以指定该操作方法的路由。例如:[HttpPost]
[Route("api/[controller]")]
public IActionResult Create([FromBody] MyModel model)
{
// ...
}
CreatedAtAction
方法代替CreatedAtRoute
方法。CreatedAtAction
方法接受一个操作方法的名称和对应的路由值作为参数。例如:return CreatedAtAction(nameof(Get), new { id = model.Id }, model);
Startup.cs
文件中的ConfigureServices
方法中注册了路由。例如:services.AddControllers().AddNewtonsoftJson();
请注意,以上解决方法是一种常见的解决方法,但具体的解决方法可能因项目的实际情况而异。如果以上解决方法不能解决问题,请查看其他可能的解决方法,例如检查路由配置是否正确、检查路由参数是否正确等。