首页 > 解决方案 > 使用 HTTP-DELETE 方法的请求正文 (ASP.NET Core WebAPI)

问题描述

根据RFC7231标准:

DELETE 请求消息中的有效负载没有定义的语义;在 DELETE 请求上发送有效负载正文可能会导致某些现有实现拒绝该请求。

在我的示例中,我使用的是 ASP.NET Core WebApi,并且我想将请求正文用于 HTTP 删除方法。幸运的是它可以工作,但我找不到任何文档来确认 ASP.NET Core WebApi 中允许/支持请求正文。

[HttpDelete("{id}")]
public async Task<ActionResult<bool>> Delete(int id, [FromBody] AnyRequestBodyType body)
{
    // Do some checks with the param "body" here.
    // If everything is OK, the resource will be deleted. 
    // Otherwise, I want to return an HTTP 4xx error. 
}

我可以确定该 API 将在未来的 ASP.NET Core WebAPI 版本中工作吗?

你有什么其他的建议?我不想通过查询字符串传递参数,因为它AnyRequestBodyType是“复杂的”并且 url 编码的请求将不再可读或“手动执行”。

标签: c#asp.net-web-apiwebapihttp-delete

解决方案


推荐阅读