#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)