【发布时间】:2020-02-08 06:59:02
【问题描述】:
我有这个控制器
[ApiController]
[Route("api/[controller]")]
public class FamiliesController : ControllerBase
{
readonly FamilyFinanceContext db;
public FamiliesController(FamilyFinanceContext context)
{
db = context;
}
[HttpDelete("deletefamily")]
public async Task<ActionResult<Family>> DeleteFamilly(int id)
{
Family user = db.Families.FirstOrDefault(x => x.Id == id);
if (user == null)
{
return NotFound();
}
db.Families.Remove(user);
await db.SaveChangesAsync();
return Ok(user);
}
}
在调用https://localhost:44373/api/families/deletefamily?id=2 之后我有这个错误 - HTTP ERROR 405 理论上,这个 GET 参数必须有效。我做错了什么?
【问题讨论】:
-
您要求的是 DELETE (
[HttpDelete("deletefamily")]) 而不是 GET。两者都需要支持吗? -
你如何调用这个API?我认为问题出在您的客户端
-
如果您使用诸如 Chrome 之类的 Web 浏览器进行调用,那将执行 GET 并且您的控制器期待 DELETE
标签: asp.net-core asp.net-core-webapi