【发布时间】:2020-04-11 00:37:23
【问题描述】:
func main() {
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/api", home)
fs := http.FileServer(http.Dir("../public"))
http.Handle("/", fs)
http.HandleFunc("/ws", handleConnections)
go handleMessages()
log.Println("http server started on :8000")
err := http.ListenAndServe(":8000", nill)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
使用上面的代码,/api 路由会给出 404。
但是,如果我将 err := http.ListenAndServe(":8000", nill) 更改为 err := http.ListenAndServe(":8000", router),/api 路由有效,但 / 路由(我服务于前端)给出 404。
如何让它们都工作?
编辑:完整代码 - https://codeshare.io/2Kpyb8
【问题讨论】: