我在Web API控制器中有一个DELETE Action Method,它依赖于多个可为空的参数。
以下是我目前的工作方式:
[HttpDelete("{id}?productId={productId}&categoryId={categoryId}")]
public void Delete(int Id, int? productId = null, int? categoryId = null)
{
_ppManager.Delete(Id, productId, categoryId);
}
这是对的吗?我认为DELETE更像是一个GET而不是POST,所以我使用了查询字符串技术,因为它们需要可以为空。
答案 0 :(得分:0)
据我所知documentation和此post,网址参数会自动路由到您按名称匹配的操作参数,因此您可以将其设置为:
[HttpDelete("{id:int}")]
public void Delete(int Id, int? productId = null, int? categoryId = null)
{
_ppManager.Delete(Id, productId, categoryId);
}
并且匹配的URL参数将自动路由。