Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir Phoenix将404和500呈现为JSON_Elixir_Phoenix Framework - Fatal编程技术网

Elixir Phoenix将404和500呈现为JSON

Elixir Phoenix将404和500呈现为JSON,elixir,phoenix-framework,Elixir,Phoenix Framework,我启动了一个phoenix项目,没有使用--no-html选项,现在正试图确保404和500错误呈现为JSON。该项目开始于Phoenix1.1.0,并已更新为1.1.4 我已经将config/config.exs文件的render\u errors(在config:my\u app,MyApp.Endpoint下)修改为[视图:MyApp.ErrorView,格式:“json”,接受:~w(json)] 这些路由都接受JSON,目前没有一个接受HTML 我修改了web/web.ex文件以删除v

我启动了一个phoenix项目,没有使用
--no-html
选项,现在正试图确保
404
500
错误呈现为JSON。该项目开始于Phoenix
1.1.0
,并已更新为
1.1.4

我已经将
config/config.exs
文件的
render\u errors
(在
config:my\u app,MyApp.Endpoint
下)修改为
[视图:MyApp.ErrorView,格式:“json”,接受:~w(json)]

这些路由都接受JSON,目前没有一个接受HTML

我修改了
web/web.ex
文件以删除
view
函数中的use Phoenix.HTML,并修改了
web/views/error\u view.ex
以呈现JSON


但是此时
404
500
错误仍然返回html。

您是否更新了
config.exs

config :my_app, MyApp.Endpoint,
  # ...
  render_errors: [accepts: ~w(html json)],
  # ...
返回什么类型的html?也许您可以在
config/dev.exs

config :my_app, MyApp.Endpoint,
  # ...
  debug_errors: false,
  # ...

是的,我更新了我的
config/config.exs
,如原帖子所述。经过仔细检查,这是开发环境的phoenix调试页面,感谢您指出这一点。但是将
debug\u errors
更改为
false
,似乎并没有改变dev环境中的错误。但是在
prod
环境中运行它似乎是可行的。因此,我将此标记为正确答案。请记下我对
debug\u错误
不在dev中工作的评论。我在
config/config.exs
中设置了它,而不是在覆盖它的
config/dev.exs
中设置的。