当ASP.NET Core API的PUT请求收到405 Method not allowed错误时,可能是由于以下几种原因引起的:
[HttpPut]
特性来指定允许的请求方法。[HttpPut]
public IActionResult Update(int id, [FromBody]Model model)
{
// 处理PUT请求
}
请求的API路由没有正确匹配。确保请求的URL路径与API路由配置一致。
请求的Content-Type头部没有正确设置。对于PUT请求,需要设置Content-Type为application/json
或其他适当的类型。可以使用[FromBody]
特性将请求的JSON数据解析为模型对象。
[HttpPut]
public IActionResult Update(int id, [FromBody]Model model)
{
// 处理PUT请求
}
[HttpPut]
public IActionResult Update(int id, [FromBody]Model model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// 处理PUT请求
}
这些是常见的解决方法,根据具体情况可能需要进一步调试和排查。