Создание нового маршрута на Фениксе - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть приложение в Фениксе, и я использую PostgreSQL в качестве базы данных.В моей базе данных у меня есть таблица с именем «Device_Token», где хранится токен, созданный при доступе к мобильному приложению.Мне нужно создать новый маршрут в моем API, который возвращает этот токен, чтобы я мог получить его в своем коде React Native.

Я создал новый маршрут в моем файле router.ex, например:

get "/device_token", UserController, :device_token

И затем мне нужно создать функцию с именем «device_token» в моем файле usercontroller.ex, который возвращает код токена.Я думаю, что-то вроде приведенного ниже кода, но я знаю, что это неправильно.Кто-то может мне помочь?Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

def device_token(conn, _params) do
    device_token = Repo.get(DeviceToken, id)
    render(conn, "device_token.json", device_token: device_token)
end

1 Ответ

0 голосов
/ 04 декабря 2018

Эти документы Phoenix показывают, как визуализировать JSON, а не HTML-страницу, поэтому вы можете сделать что-то вроде этого:

router.ex:

get  "/token/:id", UserController, :token

user_controller.ex:

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

user_view.ex:

defmodule HelloWeb.PageView do
  use HelloWeb, :view

  def render("show.json", %{token: token}) do
    %{data: %{device_token: token} }
  end

end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...