【发布时间】:2020-04-19 17:16:21
【问题描述】:
最近我开始了一个学校项目,我需要只使用标准 Go 库制作一个网络论坛。我遇到的主要障碍是我不知道如何正确地进行路由。例如:
router.HandleFunc("/threads", threadsHandler)
router.HandleFunc("/threads/", postsHandler)
如果我只有 2 条路线也没关系。但我希望能够处理更复杂的路线,例如:
"/threads/{thread_name}/posts"
在不使用 Gorilla/Mux 的情况下如何做到这一点?
【问题讨论】:
-
在应用程序中编写调度逻辑您的代码。在
/threads/的处理程序中,检查请求 URL 路径并根据该路径进行调度。 -
你可以在这里github.com/aquasecurity/lmdrouter/blob/…查看路由是如何完成的。您可以根据自己的要求构建类似的东西。
-
使用一些“编程”并没有错。并非所有事情都必须通过调用某个包来完成。