我在Ruby on Rails上实现Rest API。所以我想以json格式回复所有请求。我做了这个:
include ActionController::MimeResponds
before_filter :force_json
def force_json
response.format = "json"
#also tried
# response.content_type = Mime[:json]
end
这两种方式都没有奏效。它给了我一个错误的html页面。 还有一种方法可以为整个api而不是每个类实现这个吗? 谢谢!
答案 0 :(得分:1)
如果您希望它在应用程序范围内发生,您可以在应用程序控制器中执行类似的操作。
class ApplicationController < ActionController::Base
before_action :force_json
def force_json
request.format = :json
end
end
答案 1 :(得分:0)
如果您使用responders
gem,则可以在班级顶部定义:
class PostsController < ApplicationController
respond_to :json
...
然后此控制器将默认使用JSON进行响应。