我在菲尼克斯有一个应用程序,我使用PostgreSQL作为DataBase。在我的DataBase中,我有一个名为"Device_Token“的表,其中存储了某人访问移动应用程序时创建的令牌。我需要在我的API中创建一个返回这个令牌的新路由,这样我就可以在React Native代码中获取它。
我在router.ex文件中创建了一个新路由,如下所示:
get "/device_token", UserController, :device_token
然后我需要在我的usercontroller.ex文件中创建一个名为"device_token“的函数来返回令牌代码。我认为这有点像下面的代码,但我知道它是不正确的。有人能帮我吗?如果您需要更多信息,请让我知道。
def device_token(conn, _params) do
device_token = Repo.get(DeviceToken, id)
render(conn, "device_token.json", device_token: device_token)
end
发布于 2018-12-05 04:14:12
这些phoenix docs向您展示了如何呈现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
https://stackoverflow.com/questions/53616576
复制相似问题