В моем API-интерфейсе Phoenix JSON я получаю Ecto NoResultsError, когда я запрашиваю объект, который не существует в базе данных.Phoenix Ecto как обрабатывать NoResultsError
Я хочу, чтобы мой API JSON возвращал нуль вместе с ошибкой 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
вместе с видом:
defmodule MyProject.MyModelView do
use Laired.Web, :view
def render("show.json", %{my_model: my_model}) do
my_model
end
end
Связанный:
Setting up custom response for exception in Phoenix Application