Jos*_*itt 9 json elixir ecto phoenix-framework
在我的Phoenix JSON API中,当我请求数据库中不存在的对象时,我收到了一个Ecto NoResultsError.
我希望我的JSON API返回null以及404错误.
我该怎么做?
目前我几乎有一个默认生成的html控制器/视图等我已经修改了这样的控制器:
def show(conn, %{"id" => id}) do
my_model = Repo.get!(MyModel, id)
case get_format(conn) do
"json" ->
render(conn, my_model: my_model)
_ ->
render(conn, "show.html", my_model: my_model)
end
end
Run Code Online (Sandbox Code Playgroud)
以及观点:
defmodule MyProject.MyModelView do
use Laired.Web, :view
def render("show.json", %{my_model: my_model}) do
my_model
end
end
Run Code Online (Sandbox Code Playgroud)
有关:
NoD*_*ame 14
返回时使用get而不是get!处理逻辑nil:
def show(conn,%{"id" => id}) do
case Repo.get(MyModel, id) do
nil -> # return null and 404
record -> # do something with record
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2671 次 |
| 最近记录: |