Как отправить запрос в веб-API, который изменяет массив в JSON, который всегда принимает нулевое значение? - PullRequest
0 голосов
/ 08 июля 2019

Я создал веб-API с использованием ASP.NET, API уже подключен к базе данных и работает нормально, однако я нахожу проблему, когда делаю запрос на размещение на одной из моих моделей, эта модель имеет массив внутри,но каждый раз, когда я создаю модель или пытаюсь изменить ее с помощью запроса пут, массив всегда является нулевым массивом;Я пытаюсь использовать почтальон только для того, чтобы сделать запрос, все свойства изменяются правильно с запросом put, за исключением значений массива.

Я пытался использовать запрос post и ставить, используя JSON и XML с почтальоном, я исследовалмного и не могу найти решение

Вот как веб-API сохраняет данные:

<Empleado xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns="http://schemas.datacontract.org/2004/07/easy_date_WebAPI.Models">
    <Id>1</Id>
    <apellidos>Toro</apellidos>
    <email>alejo@gmail.com</email>
    <nombre>Alejandro</nombre>
    <telefono>123456</telefono>
    <horarios 
   xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" 
   i:nil="true"/>
</Empleado>

И я делаю запрос следующим образом:

{
    "horarios":["1","2"],
    "Id":1,
    "apellidos":"Toro", 
    "email":"a@gmail.com", 
    "nombre":"Alejandro",
    "telefono": "123456"

}

Это должно изменить значения horarios на массив, который я отправляю, но этого не происходит, и я не получаю никакого сообщения об ошибке, просто horarios имеет значение null.

Модель выглядит следующим образом:

Сначала у меня есть модель персонажа:

public class Persona
{
    public int Id { get; set; }
    public string nombre { get; set; }
    public string apellidos { get; set; }
    public string email { get; set; }
    public string telefono { get; set; }
}

Затем я наследую персона в empleado:

public class Empleado : Persona
{

    public List<String> horarios { get; set; }

}

Я также попытался изменить список на вектор и создал конструкторинициализируя вектор, но я получаю тот же результат, запрос PUT никогда не изменяет horarios массива, только другие атрибуты, то же самое происходит с запросом POST.

Я заглянул в базу данных SQL Azure и заметилчто в таблице нет колонок хорарио.Я новичок в базах данных ASP.NET и SQL, поэтому я не знаю, что не так, может быть, я могу создать столбец самостоятельно, чтобы разрешить сохранение массива?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...