angular и превращение данных json в реальные объекты (и наоборот)
Чтобы не усложнять:
У меня есть классы, определенные в машинописном тексте, у которых есть методы и свойства (с большим количеством логики получения / установки). Затем я получаю данные json, соответствующие таким классам. Мне нужно иметь возможность проецировать эти json-объекты в мои "умные" классы. Я знаю о преобразователе классов, но мне интересно, действительно ли это подходящий подход для подобных вещей. Кроме того, я планирую использовать ngrx, поэтому все это преобразование классов выглядит неправильно (сервер в json, json в состояние, состояние в класс? И наоборот? Я просто не вижу четкого шаблона.
Приветствуется любая ясность. Спасибо!
1 ответ
Я делаю почти в точности то, что вы описываете в довольно большом приложении. Я использую преобразователь классов для преобразования JSON из HTTP-вызовов в экземпляры соответствующих объектов, а затем использую полученные объекты как состояние в магазине (за исключением того, что я использую Redux вместо ngrx).
Я считаю, что это работает очень хорошо.
Я не совсем понимаю, что вы подразумеваете под "сервер для json, json для состояния, состояние для класса? И наоборот?".
Для меня (используя вашу терминологию) это сервер для json, json для класса, класс для состояния (но состояние - это просто набор объектов, то есть экземпляров класса. Состояние IE - это объекты).
Если мне нужно отправить состояние обратно на сервер, то да, я обычно беру соответствующие объекты из хранилища, сериализую их в JSON и отправляю на сервер. Но... Angular HttpClient выполняет сериализацию за вас, поэтому вам обычно не нужно писать эту часть, если вам не нужна какая-то настраиваемая сериализация.