我试图将一个List传递给我的Web API,但是每次都会得到一个null值。在将列表传递到API之前,我将其转换为字符串。有什么想法可以正确地绑定它吗?
public async Task<ReturnViewModel> ModContactsAsync(List<ContactsDTO> Contacts)
{
ReturnViewModel vm = new ReturnViewModel();
var postContactsUri = new UriBuilder(AppConfig.ServiceUrlBase);
//Converts object into a string
var jsonObject = new JavaScriptSerializer().Serialize(Contacts);
postContactsUri.Path = string.Format(POST_CONTACTS_API_PATH, jsonObject);
//Calls API
var response = await _httpClient.PostAsync(postContactsUri.ToString());
return vm;
}
POST - API调用列表prod为null
[HttpPost]
[Route("contacts/Save")]
[ResponseType(typeof(ReturnMessage))]
public async Task<IHttpActionResult> ModContacts([FromBody] List<ContactsDTO> prods)
{
try
{
await Task.Delay(10);
return Ok();
}
catch (Exception ex)
{
throw new PropertyPortalWebApiException(HttpStatusCode.InternalServerError, "Contact information does not exist.", ex);
}
}
PostAsync
调整为以下形式:var response = await _httpClient.PostAsync(POST_CONTACTS_API_PATH, new System.Net.Http.StringContent(jsonObject, Encoding.UTF8, "application/json"));
- mike123