我在没有使用--no-html
选项的情况下启动了一个凤凰项目,现在我正在尝试确保将404
和500
错误呈现为JSON。该项目始于Phoenix 1.1.0
,并已更新为1.1.4
。
我已将config/config.exs
文件render_errors
(config :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>
但是,此时404
和500
错误仍会返回html。
答案 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,
# ...