我正在使用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有什么好处?
欢呼声