Ниже описана архитектура сетевого слоя, которая была разработана и усовершенствована на основании опыта многих проектов. Ее легко покрывать юнит тестами, модифицировать, конфигурировать и расширять под свои нужды.
Ответ на пост @kean Api Client
Если клиент будет заниматься сериализацей, валидацией и маппингом, то нельзя будет сконфигурировать запрос так, чтобы он как-то отличался от всех остальных запросов. А это нужно довольно часто. Поэтому все эти задачи надо инкапсулировать в запрос.
Есть три протокола, которые описывают эти задачи:
- сериализация запроса (map
struct
toNSURLRequest
)