POST传递MVC模型API

时间:2018-10-04 08:03:42

标签: .net api model-view-controller

大家好, 我试图将对象发送到API。 而我遇到了一个错误

[HttpPost]
     public async Task<object> Upsert(int Base, int SubBase,object val)
            {
                using (var client = new HttpClient())
                {

                    client.BaseAddress = new Uri("http://localhost:50442/");
                    client.DefaultRequestHeaders.Clear();
                    HttpResponseMessage response = await client.PostAsJsonAsync("M01_Upsert/" + val, val);
                    response.EnsureSuccessStatusCode();
                    return response.Headers.Location;

                }

            }

这是我正在调用的API函数

 [HttpPost]
        public void M01_Upsert(object val)
        {
            var data = val;
        }

我怎么称呼它?我做得对吗?这给我一个关于调用方法的错误。

1 个答案:

答案 0 :(得分:1)

尝试删除添加到帖子URL的[val]。

因此更改以下代码行:

HttpResponseMessage response = await client.PostAsJsonAsync("M01_Upsert/" + val, val);

收件人:

HttpResponseMessage response = await client.PostAsJsonAsync("M01_Upsert", val);

在POST请求中,有效负载不应成为URL参数的一部分。您将它作为参数传递给PostAsJsonAsync方法。