@YoppaLotus

Почему при десериализации [FromBody] данные записываются в свойства, а не поля?

Например, есть контроллер, принимающий stringfy json
public ViewResult Insert([FromBody]InsertGroup json)
        {
             //Some code
        }

И класс, в который происходит десериализация
public class InsertGroup
    {
        public int[] selnames { get; set; }
        public string template { get; set; }
    }

Если вместо автосвойств будут обычные поля, данные попросту не станут записываться. Почему так происходит?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Я подозреваю что это связано как то с рефлексией. В любом случае можно посмотреть исходный код и создать свой биндинг.

ПС почему вам не нравятся свойства?
Ответ написан
petermzg
@petermzg
Самый лучший программист
Просто такая реализация механизма биндинга данных, не стали заморачиваться на обычные поля.
Вы можете сами реализовать IModelBinder, который будет работать как вам нужно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы