Как стать автором
Обновить

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

Приношу извенения за дублирование статьи, в первый раз когда нажал «опубликовать» хабр сообщил что страница устарела. Видимо в первый раз публикация все же прошла успешно. Скрыл первую в черновики.
Ну документировано там почти все. Опять же можно идти через dynamic.
Status, Meta, Data, Error отдается всегда.

Я начал делать ручками и отредактировал почти все. Заминка щас со свободным временем и внесезоньем. Нет реальных данных из АПИ. Вообще нужно завести новый акк и делать интергационные тесты через него.

Большинство АПИ, включая тестовые выдают что-то из этого (я вынес в интерфейсы).

Только танки. Поле Data.
T Data { get; set; }
IList<T> Data { get; set; }
Dictionary<int, IList<T>> Data { get; set; }
Dictionary<string, T> Data { get; set; }  
Dictionary<int, Dictionary<string, Dictionary<string, IList<T>>>> Data { get; set; } // в тестовом виде.
Dictionary<string, Dictionary<string, IList<T>>> Data { get; set; }


Плюс несколько вариаций Meta.

Собственно у мeня не совсем получилось сделать обертку вокруг всего этого с HttpClient. Уж очень много всего получается.
Думал о SQRS, но там работы дофига.

Плюс на каждый класс надо делать дофига тестов чтобы оно не сломалось после обновления.
Да, вы правы — документация там очень хорошая. Но, как неоднократно повторял в статье, из документации нет возможности понять что ожидать в узлах:
T 
или 
List<T> 
или 
Dictionry<int,T>
Именно эти правки после генерации кода необходимо вносить руками. Соответственно этот момент сильно мешает сделать полностью рабочую и более простую реализацию сгенерированного клиентского кода.

А вот для простых типов полей вся необходимая информация есть. Местами по разному но тем не менее все остальное указано.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории