2010-02-20 1 views
1

Я работаю над приложением Ruby on Rails, которое имеет REST API. Я управляю двумя форматами JSON и XML. Очень часто для упрощения использования, если API, который я делаю, включает. Но когда вы добавляете params к to_json и to_xml, например: only,: except, он применяется не только к корневому объекту, но и ко всем включенным объектам.Как реализовать API REST с включенными данными в Ruby on Rails?

Вы знаете ЛИЭС или методы, чтобы ответить на эти различные проблемы:

  • не расскажет и не возвращать пароль пользователя в по API
  • Расскажите всегда включает в себя отношения или метод в каждом пользователя сериализован в API
  • Сериализация объектов в зависимости от контекста. Например, когда пользователь запрашивает список пользователей, он должен видеть его полный профиль, частичный профиль своих друзей и просто имя других ...
  • Не нужно копировать вставку параметров для xml и json

большое спасибо,

Camille Roux

+1

Трудно сказать без примеров кода и api – Zepplock

ответ

1

Вы, вероятно, будете хотеть, чтобы переопределить to_xml и to_json методы в каждой модели и убедитесь, что ваш контроллер вызова этих методов на ваших объектах при возврате JSON/XML.

См. http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html#M001876 и http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html#M001873 для реализации этих методов по умолчанию.