2013-08-01 4 views
0

Я строю службу rails api, и я начал работу с rails-api gem и изобрел жемчужину для аутентификации пользователей, я также выкатил свое собственное управление версиями, отличное RailsCast on Versioning APIs было всем, что мне нужно.Создание проблем с Rails-серверами Api

Теперь вот некоторые из вопросов, я столкнулся

  • Во-первых, хотя рельсы-апи камень удаляет все модули, которые не были бы необходимы, я ожидал, что ошибки возвращается, чтобы быть в формате апи, а затем основное исключение записано вместо этого, потому что прямо сейчас, если я должен даже использовать завиток, чтобы сделать запрос, и он терпит неудачу из-за маршрутизации или по другим причинам, весь стек ошибок возвращается в виде html css с некоторым javascript, и я довольно очень уверен, что это не то, что я хочу вернуть своим потребителям api.

Итак, мой вопрос в том, как правильно обрабатывать все ошибки в rails-api и не возвращать длинный стек ошибок.

  • Во-вторых, как я получаю рельсы генератор автоматически создавать все новые контроллеры в пространстве имен я, указанных в маршруте (я вижу это мне непрактичным, но эй, я просто спрашиваю: P)

  • Также может кто-нибудь указать мне на другие необходимые ресурсы, которые я мог бы использовать для создания успешного сервиса rails api.

Спасибо

ответ

1

Я использую ActiveModel::Serializers для своих API.

Я хотел бы просто вынести ошибки внутри действия контроллера:


# almost pseudocode 
unless request_successful? 
    render json: { errors: { model: [ t(:your_request_made_no_sense, scope: :model)] } }, status: :bad_request 
end 

Если вы заинтересованы в чтении на довольно элегантный способ сделать API-интерфейсов, вы можете взглянуть на this 2beards article, который хорошее введение имеет много ссылок на большие ресурсы.