檢視原始碼 mix phx.routes (Phoenix v1.7.14)

列印所有預設或特定路由器的路由。也可以找到指定的 URL 背後控制器的函式。

$ mix phx.routes [ROUTER] [--info URL]

除非在應用程式設定中設定了名為 :namespace 的設定,否則預設路由器會從應用程式名稱轉換而來。例如,當此任務在沒有引數的情況下呼叫時,設定

config :my_app,
  namespace: My.App

會展示 My.App.Router 的路由。

Umbrella 專案沒有預設路由器,因此總是預期會給定一個路由器。可以將別名新增到 mix.exs 中,以自動化這個動作

defp aliases do
  [
    "phx.routes": "phx.routes MyAppWeb.Router",
    # aliases...
  ]

選項

  • --info - 找到由給定 URL 呼叫的控制器函式定義
  • --method - 與給定 URL 搭配使用的 HTTP 方法,只會在搭配 --info 使用時運作,且預設為 get

範例

列印所有預設路由器的路由

$ mix phx.routes

列印所有給定路由器的路由

$ mix phx.routes MyApp.AnotherRouter

列印由指定的 URL 呼叫的控制器函式的資訊

$ mix phx.routes --info http://0.0.0.0:4000/home
  Module: RouteInfoTestWeb.PageController
  Function: :index
  /home/my_app/controllers/page_controller.ex:4

列印由指定的 URL 和 HTTP 方法呼叫的控制器函式的資訊

$ mix phx.routes --info http://0.0.0.0:4000/users --method post
  Module: RouteInfoTestWeb.UserController
  Function: :create
  /home/my_app/controllers/user_controller.ex:24

摘要

函式

連結到此函式

get_url_info(url, arg)

檢視原始碼