Есть множество ендпоинтов. От каждого ендпоинта ожидается свой набор полей в Response. Что делать с зависимостями?
На ендпоинт GET /authors я верну AuthorResource, где 'books' => BookResource::collection(...). А что делать, если нужны поля для books, отличные от полей в BookResource?
- На каждый ендпоинт создавать отдельно AuthorBookResource / BookAuthorResource / ShowAuthorBookCollection?
- В ModelResource создавать несколько методов с разными полями, которые все уйдут в toArray?
- Возвращать везде одинаковый набор полей?
если полей не много, то есть варинат использовать один ресурс для ресурса автора, а б добавил конструкцию на подобии books => whenLoaded('books') если всё же нужно отдельно, то можно подойти с такими шабонами SimpleBookRes BaseBookRes или делать несколько BookRes но групировать их по папкам Author |- AuthorRes |- BookRes Book |- BookRes |- ShortBookRes - например для списка, где не нужка вся информация. —— у меня примерно такой подход
Обсуждают сегодня