0
我正在调用API Post方法,但是,我不确定我在做什么错误,但API中的值始终为空。我从下面调用API的方法。当我碰到这个时,我可以看到Ids是以5个值为单位的整数列表。PostAsync参数始终为空
private void Save(List<int> Ids)
{
var myAPI = ConfigurationManager.AppSettings["MyAPI"];
string myIds = string.Join(",", Ids);
using (var client = new HttpClient())
{
int result = client.PostAsync(myAPI, new { test = myIds }, new JsonMediaTypeFormatter())
.Result
.Content
.ReadAsAsync<int>()
.Result;
}
}
我的API签名是像下面 - 断点上我可以看到它被击中,但测试我试图传递参数总是空
[HttpPost]
[Route("api/MyController/SaveData")]
public HttpResponseMessage SaveData([FromBody]List<string> test)
{
try
{
//Rest of method removed for brevity
我曾试图消除[ FromBody]从控制器的WebAPI测试,但仍然标注在保存数据API方法得到空与断点
会给出一个去 - 认为有一个错误的答案就在使用_httpClient应该是客户端我假设 –
你是对的,编辑 –
Web方法签名必须包含一个参数,然后调用postRequest,并将FromBody必须使用? –