【问题标题】:Creating new route on Phoenix在 Phoenix 上创建新路线
【发布时间】:2018-12-06 10:42:58
【问题描述】:

我在 Phoenix 有一个应用程序,我使用 PostgreSQL 作为数据库。在我的数据库中,我有一个名为“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

【问题讨论】:

    标签: api routes elixir phoenix-framework


    【解决方案1】:

    这些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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-30
      相关资源
      最近更新 更多