У меня есть сложный объект, который включает в себя файлы, строки и т. Д. И я хочу передать его своему контроллеру Web API, но API всегда получает его как ноль.
Я пытался преобразоватьв JSON, возиться с заголовками запросов и некоторыми другими вещами, но, похоже, ничего не работает.
/////////// Controller
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri(Settings.DataApiUrl);
HttpResponseMessage uploadResponse = client.PostAsJsonAsync("FileUpload/Upload", settings).Result;
var content = uploadResponse.Content.ReadAsStringAsync().Result;
response = JsonConvert.DeserializeObject<FileUploadResponse>(content);
}
///////// API
[HttpPost]
[ActionName("Upload")]
public FileUploadResponse UploadFile(FileUploadSettings settings)
{
try
{
FileUploadMgr mgr = new FileUploadMgr(settings);
return mgr.Upload();
}
catch(Exception e)
{
FileUploadResponse response = new FileUploadResponse();
response.Add(new Response(null, false, e));
return response;
}
}
Как только он попадает в API, объект 'settings' всегда имеет значение null. Не уверен, что делать, чтобы это исправить.