在行动回退中区分错误视图与相同的错误

时间:2017-09-09 05:32:56

标签: error-handling elixir phoenix-framework

在2控制器中有一个可以返回相同错误的操作。但是在一个动作中是html而在另一个动作中是json。 我如何区分视图以呈现动作回退?

由于

1 个答案:

答案 0 :(得分:0)

您可以创建2个单独的回退控制器。一个用于API(JSON),一个用于普通视图(HTML),因为您可以基于每个控制器定义回退。

类似的东西:

defmodule MyAppWeb.Api.V1.UserController do
  use Phoenix.Controller

  action_fallback MyAppWeb.ApiFallbackController

  ...
end

defmodule MyAppWeb.UserController do
  use Phoenix.Controller

  action_fallback MyAppWeb.ViewFallbackController

  ...
end

这就是我在最近的一个项目中做到的,而且效果很好。