StatusCode 400 'Bad Request', передавая DataTable через JSON в. Net Core 2.2 Controller - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь передать вложенную таблицу в. 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);
    }
...