【问题标题】:(Phoenix.Router.NoRouteError) no route found for GET /phoenix/live_reload/socket/websocket (ShortenApiWeb.Router)(Phoenix.Router.NoRouteError) 找不到 GET /phoenix/live_reload/socket/websocket 的路由 (ShortenApiWeb.Router)
【发布时间】:2019-03-25 14:57:54
【问题描述】:

我一直在使用来自 https://medium.freecodecamp.org/how-to-write-a-super-fast-link-shortener-with-elixir-phoenix-and-mnesia-70ffa1564b3c 的代码来编写一个 url 缩短器作为学习长生不老药和凤凰的一种手段。

每当我在 localhost:4000 上启动我的 phoenix 服务器时,它都会出现此错误:

"Phoenix.Router.NoRouteError at GET / 找不到 GET / (ShortenApiWeb.Router) 的路由 "

此外,终端说还没有定义实时重新加载网络套接字的方式:

[信息] GET /phoenix/live_reload/socket/websocket
[调试] ** (Phoenix.Router.NoRouteError) 找不到 GET /phoenix/live_reload/socket/websocket (ShortenApiWeb.Router) 的路由

.

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    它会给你错误,因为项目没有任何绑定到/ 路由的东西。

    你必须使用curl创建你的链接

    curl --request POST \
      --url http://localhost:4000/api/links/ \
      --header 'content-type: application/json' \
      --data '{
     "link": {
      "url": "https://twitter.com/bnchrch"
     }
    }'
    

    之后,您将能够使用哈希将其打开到浏览器中(您应该收到它作为 curl 响应。类似于{"data":{"url":"https://twitter.com/bnchrch","hash":"Aode7DEz"}}

    现在您可以打开 http://localhost:4000/Aode7DEz,它会将您重定向到您发送的 URL。

    【讨论】:

    • 范围 "/", ShortenApiWeb 做得到 "/:id", LinkController, :get_and_redirect end
    • 已经在router.ex中定义了但是没有重定向
    • get "/:id", LinkController, :get_and_redirect - 表示它绑定到/some
    猜你喜欢
    • 1970-01-01
    • 2016-06-24
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2013-11-14
    • 2016-01-01
    相关资源
    最近更新 更多