Как я могу вставить несколько элементов данных в SQL с помощью веб-API? - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть такой код:

public IHttpActionResult Post(CUSTOMER [] newCustomer)
{
    try
    {
        foreach (CUSTOMER item in newCustomer)
        {
            var AddedCust = db.CUSTOMERs.Add(item);
        }

        int insertedRecords = db.SaveChanges();
        return Ok(insertedRecords);
    }
    catch (Exception)
    {
        return BadRequest(ModelState);
    }
}

С Почтальоном я пытаюсь опубликовать более одной записи, но получаю исключение:

{

    "NAME": "test1",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test2",
    "SURNAME": "Aleksat34t34ndrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}
{

    "NAME": "test3",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}

ОШИБКА:

"Невозможно десериализовать текущий JSON объект (например, {\" name \ ": \" value \ "}) в тип 'First_API.Models.CUSTOMER []', поскольку для типа требуется JSON массив (например, [1,2,3]) для правильной десериализации. \ r \ nЧтобы исправить эту ошибку, либо измените массив JSON на JSON (например, [1,2,3]), либо измените десериализованный тип так что это нормальный тип. NET (например, не примитивный тип, такой как целое число, не тип коллекции, такой как массив или список), который можно десериализовать из объекта JSON.

Как я могу решить эту проблему?

Ответы [ 2 ]

6 голосов
/ 10 февраля 2020

Ваше тело json недопустимо, массив Json должен быть заключен в [ ] (квадратные скобки), а каждая запись должна быть разделена , (запятая)

Попробуйте отправить запрос API с ниже json

[{

    "NAME": "test1",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
},
{

    "NAME": "test2",
    "SURNAME": "Aleksat34t34ndrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
},
{

    "NAME": "test3",
    "SURNAME": "Aleksandrova",
    "BIRTHPLACE": "Minsk",
    "GENDER": "F",
    "IDENTITYNO": "AA75 857445",
    "IDENTITYPINCODE": 2552,
    "BIRTHDATE": "1970-06-19T00:00:00"
}]
0 голосов
/ 10 февраля 2020

попробуй

[
    {
        "NAME": "test1",
        "SURNAME": "Aleksandrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    },
    {
        "NAME": "test2",
        "SURNAME": "Aleksat34t34ndrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    },
    {
        "NAME": "test3",
        "SURNAME": "Aleksandrova",
        "BIRTHPLACE": "Minsk",
        "GENDER": "F",
        "IDENTITYNO": "AA75 857445",
        "IDENTITYPINCODE": 2552,
        "BIRTHDATE": "1970-06-19T00:00:00"
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...