ASP.NET C # REST WEB API — ПУБЛИКАЦИЯ нескольких значений JSON

#c# #rest #asp.net-web-api

#c# #rest #asp.net-web-api

Вопрос:

Я изо всех сил пытаюсь найти решение своей проблемы: у меня есть действительно простой веб-API на C #, который хорошо ПОЛУЧАЕТ, ПУБЛИКУЕТ, ПОМЕЩАЕТ и УДАЛЯЕТ сотрудников, но все работает с простым вводом JSON:

 {
   "FirstName": "Sam 10",
   "LastName": "Wicht 10",
   "Gender": "Male",
   "Salary": 140000
}
 

Что я хочу сделать, так это опубликовать много сотрудников, например:

 "employees": [{
   "FirstName": "Sam 10",
   "LastName": "Wicht 10",
   "Gender": "Male",
   "Salary": 140000
}, {
   "FirstName": "Sam 11",
   "LastName": "Wicht 11",
   "Gender": "Male",
   "Salary": 99000
}]
 

И в моем коде на C # я получаю, например List<Employee> , файл, содержащий каждого сотрудника из JSon, а затем я выполняю цикл для каждого… обновление каждого.

С точки зрения производительности, это что-то действительно плохое? Думая, что я могу ограничить размер списка и избежать запуска какого-либо кода, если .Count() он больше X, не могли бы вы, ребята, сообщить мне, как извлечь это из ввода JSON?

Это сотрудник класса, который у меня есть:

 public partial class Employee
{
    public int ID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Gender { get; set; }
    public Nullable<int> Salary { get; set; }
}
 

Должен ли я включать новый класс, который представляет an IEnumerable<Employee> со всеми параметрами?

Это для целей обучения и тестирования, и я попытался извлечь [FromBody] List<Employee> myVariableName; returns null;

Комментарии:

1. Ваше редактирование, удаляющее основную часть содержимого вопроса, сделало его бессвязным и сделало ответ бессмысленным. Не вандализируйте свои вопросы. Изменения предназначены только для уточнения и / или добавления дополнительной информации.

Ответ №1:

Вы получаете null, потому что у вас есть заключающий employee объект в вашем примере json. ОПУБЛИКОВАТЬ вместо:

 [{
   "FirstName": "Sam 10",
   "LastName": "Wicht 10",
   "Gender": "Male",
   "Salary": 140000
}, {
   "FirstName": "Sam 11",
   "LastName": "Wicht 11",
   "Gender": "Male",
   "Salary": 99000
}]
 

И это будет соответствовать определению вашего контроллера:

 public ActionResult Post(List<Employee> employees)