Резольвер для вложенного объекта в сторио
Подскажите пожалуйста, как написать решатель для вложенного объекта в сторио. пример
"book": {"id": 1, "title": "The Chronicles of Amber", "author": "Roger Zelazny", "reader": {"id": 1, "name": "Jack"}}
1 ответ
По сути, у вас есть 2 разных подхода:
- Хранить вложенный объект в одной таблице
- Хранить вложенный объект в отдельной таблице
Если вы выберете вариант 1, вам просто нужно добавить составной тип, например TweetWithUser
/ etc и пишите распознаватели операций, которые будут анализировать разные объекты отдельно и создавать составной тип. Пример здесь.
Если вы выберете вариант 2, то это почти тот же подход, что и получение отдельных объектов из Cursor
как 1, но вам нужно будет пройти кастом RawQuery
с JOIN
чтобы получить оба объекта.
У нас есть пример этого в примере приложения в репозитории, пожалуйста, проверьте это!
Лично мы использовали второй вариант в реальных приложениях со StorIO, работает нормально.
Просто помните, что StorIO - это не ORM, и вы имеете полный контроль над запросами и распознавателями операций, также вы можете передавать конкретный распознаватель операций для каждого запроса.