Phoenix将404和500渲染为JSON

时间:2016-03-30 12:49:58

标签: elixir phoenix-framework

我在没有使用--no-html选项的情况下启动了一个凤凰项目,现在我正在尝试确保将404500错误呈现为JSON。该项目始于Phoenix 1.1.0,并已更新为1.1.4

我已将config/config.exs文件render_errorsconfig :my_app, MyApp.Endpoint下)修改为[view: MyApp.ErrorView, format: "json", accepts: ~w(json)]

路由都接受JSON,目前它们都不接受HTML。

我修改了web/web.ex文件以删除view函数中使用的Phoenix.HTML,并且我已修改web/views/error_view.ex以呈现JSON。< / p>

但是,此时404500错误仍会返回html。

1 个答案:

答案 0 :(得分:8)

您是否更新了config.exs

config :my_app, MyApp.Endpoint,
  # ...
  render_errors: [accepts: ~w(html json)],
  # ...

返回什么样的HTML?也许它是您的开发环境的phoenix调试页面,您可以在config/dev.exs

中禁用它
config :my_app, MyApp.Endpoint,
  # ...
  debug_errors: false,
  # ...