2
Using rails (4.0.2)
Using rails-api (0.1.0)

当 rails-api 出现 500 之类的错误时,它会在响应中抛出一堆 html,尽管所有其他请求都将输出格式化为 json。

有什么方法可以从响应中删除 html?一个简单的 500 响应,日志中的堆栈跟踪会很棒。

更新: 我已从公用文件夹中删除了这些文件:

404.html
422.html
500.html

但仍然在响应中获得 html。

我相信它正在陷入困境:https ://github.com/rails/rails/blob/043c8707bf0a87beb3906643ddfd1b60f52c1a98/actionpack/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb

4

1 回答 1

1

你可以告诉你的路由默认返回 JSON

namespace :api, defaults: {format: :json} do
  namespace :v1 do
    namespace :items do
      get :all
    end
  end
end

然后在你的控制器中,

render json: { json_structure: true }, status: :internal_server_error

如果我是您,我会按照本指南之类的内容来确保您已完成将标准 Rails 应用程序设为 API 的所有必要步骤。

于 2019-06-09T17:15:51.727 回答