在构建json api时使用bang函数(Repo.get!)的真正好处是什么?

时间:2017-06-11 18:14:22

标签: elixir phoenix-framework

我正在使用Elixir / Phoenix构建一个json API,框架使用此方法生成了我的UserController

def show(conn, %{"id" => id}) do
    user = Repo.get!(User, id)
    render(conn, "show.json", user: user)
end

如果我搜索现有用户,那一切都很好,如果我搜索不存在的用户,我会收到以下异常

  

(Ecto.NoResultsError)预期至少有一个结果但在查询中没有结果:

其中,如果我关闭调试,它会返回404.这可能听起来对于一个Web应用程序,但如果我正在构建一个json api我宁愿在json中得到一个null结果,这就是我如果我删除Repo.get

上的感叹号,请获取
  

{ “数据”:空}

是否仍然建议使用爆炸功能?构建json API有什么好处?

欢呼声

0 个答案:

没有答案