我想有一个端点/api/api_endpoints/,其中列出了所有的公共api端点。与mix phx.routes类似,但我只想列出如下内容
...
GET /api/users
PUT /api/users/name
...诸如此类的事情。我查看了文档,但没有看到任何列出路由的内容。
发布于 2018-02-13 04:26:32
没有内置的东西,但是对于像你想要的那样简单的东西,你总是可以使用你自己的。所有路由都以Phoenix.Router.Route结构列表的形式存储在路由器中。例如,在一个名为Residential的项目中
iex(1)> ResidentialWeb.Router.__routes__
[%Phoenix.Router.Route{assigns: %{}, helper: "page", host: nil, kind: :match,
opts: :index, path: "/", pipe_through: [:browser],
plug: ResidentialWeb.PageController, private: %{}, verb: :get},
%Phoenix.Router.Route{assigns: %{}, helper: "user", host: nil, kind: :match,
opts: :index, path: "/users", pipe_through: [:browser],
plug: ResidentialWeb.UserController, private: %{}, verb: :get},
%Phoenix.Router.Route{assigns: %{}, helper: "user", host: nil, kind: :match,
opts: :edit, path: "/users/:id/edit", pipe_through: [:browser],
plug: ResidentialWeb.UserController, private: %{}, verb: :get},您可以将它们映射到它们上,提取verb和path并按您的喜好显示它们。
如果你使用take a look at the implementation,这就是mix phx.routes的工作原理
https://stackoverflow.com/questions/48753081
复制相似问题