@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; }
    }

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

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

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

Войти через центр авторизации
Похожие вопросы