通过的WebAPI的HttpClient删除列表(WebAPI delete list by Htt

2019-10-21 08:17发布

在我的WebAPI我想有方法魔女接受ID列表作为参数并删除它们。 所以这个方法看起来像下面的代码。

[HttpDelete]
public IHttpActionResult DeleteList([FromBody]IEnumerable<int> templateIds)

我还需要单元测试来此使用.NET的HttpClient的写入。 所以我的问题是:如何可以通过ID数组/列表使用HttpClient的DeleteAsync到的WebAPI?

:)

Answer 1:

据我所知,在HTTP发送邮件正文删除网络API被忽略。 另一种方法是采取IDS从URI的列表:

    [HttpDelete] 
    public void DeleteList([FromUri]IEnumerable<int> ids)

然后调用的URL以: http://server/api/ControllerRoute/ids=1&ids=2

若要从HttpClient的调用这个,你会直接使DeleteAsync,因为所有的数据是在URL中。

你也可以打破System.Web.HttpUtility建立在URL中的查询字符串给你,就像这样:

        var httpClient = new HttpClient();
        var queryString = HttpUtility.ParseQueryString(string.Empty);
        foreach (var id in ids)
        {
            queryString.Add("ids", id.ToString());
        }
        var response = httpClient.DeleteAsync(queryString.ToString());


文章来源: WebAPI delete list by HttpClient