Я пытаюсь передать вложенную таблицу в. NET Core 2.2 API-контроллер через JSON. Но контроллер всегда отвечает на код состояния 400. У кого-нибудь есть решение этой проблемы? JSON представляется действительным.
StatusCode: 400, ReasonPhrase: 'Bad Request', Версия: 1.1, Content: System. Net .Http.StreamContent, Заголовки: {Content-Type: application / проблема + JSON; charset = utf-8}}
Код клиента: (xUnit ITest)
DataTable subTable1 = new DataTable();
subTable1.Columns.Add("ident", typeof(string));
subTable1.Columns.Add("ebene", typeof(string));
subTable1.Columns.Add("platz", typeof(string));
subTable1.Rows.Add("1111111111111111111111111111", "1", "1");
subTable1.Rows.Add("2222222222222222222222222222", "1", "2");
subTable1.Rows.Add("3333333333333333333333333333", "2", "1");
DataTable huList = new DataTable();
huList.Columns.Add("huident", typeof(string));
huList.Columns.Add("hutyp", typeof(string));
huList.Columns.Add("inh liste", typeof(DataTable));
huList.Rows.Add("00000001", "0001", subTable1);
huList.Rows.Add("00000002", "0059", null);
HttpContent httpContent;
var parameterAsJson = JsonConvert.SerializeObject(huList);
httpContent = new StringContent(parameterAsJson, Encoding.UTF8, "application/json");
var result = client.PutAsync($"api/source/setSourceData", httpContent).Result;
Код контроллера: (. Net Core 2.2)
[HttpPut("setSourceData")]
public ActionResult<object> SetSourceData([FromBody] DataTable table)
{
var result = comWrapper.doSomething(table);
return Ok(result);
}