Разные поля для различных actions

Всё что касается построения API
Ответить
JohnB0
Сообщения: 19
Зарегистрирован: 2014.02.05, 15:41

Разные поля для различных actions

Сообщение JohnB0 »

Доброго времени суток, уважаемые!

Озадачился следующим вопросом. Каким образом можно реализовать отдачу разных полей модели (допустим ActiveRecord), для разных действий. То есть для actionIndex возвращать только: id, name, thumbImage, link. А для actionView уже id, name, image, link, description, related(данные связной таблицы).
Представляю себе два варианта решения.
Первый: fields и extraFields. Но в это случаем все дополнительные поля придется перечислять в запросе, да и ничто не мешает добавить их к действию actionIndex в запрос, например.
Второй: переопределить в actions и возвращать dataProvider. В таком случаем вопрос в подготовке самих полей. Например тот же image нужно обернуть функцией, которая вернет полный адрес картинки, дату нужно обернуть в formatter, опять же getLinks для hateoas.

Какие могут быть варианты? На данный момент возвращаю все поля как для actionIndex, так и для actionView. Например так же у Евгения сделано, на его yii2-rest - https://github.com/githubjeka/yii2-rest.
Не уверен, на сколько это правильно, слать одинаково-полное количество данных как в списке записей, так и для конкретно запрошенной.
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

Re: Разные поля для различных actions

Сообщение astronin »

собирать fields в зависимости от заданного сценария
Ответить