gpt4 book ai didi

ajax - 服务多个静态文件并在 golang 中发出 post 请求

转载 作者:行者123 更新时间:2023-12-01 20:18:53 24 4
gpt4 key购买 nike

我两天前才开始使用 Golang,所以这可能很简单,但对我来说仍然很难。
我的问题的第一步是在目录“/static”下提供多个文件,我已经知道该怎么做(

func main() {  
fs := http.FileServer(http.Dir("./static"))
http.Handle("/", fs)

log.Println("Listening on :3000...")
err := http.ListenAndServe(":3000", nil)
if err != nil {
log.Fatal(err)
}
})
),但我也想发出 POST 请求(将信息保存到 MongoDB 数据库),这是让我难堪的部分。有一个代码示例确实允许提供一个静态文件和一个 POST 请求,但我无法用我的能力进行修改。此示例可在此处找到:https://www.golangprograms.com/example-to-handle-get-and-post-request-in-golang.html。
我可以以某种方式提供多个静态文件(最好在“静态”目录下)吗?

最佳答案

编写一个调用到 fs 的处理程序对于非 POST 请求:

type handler struct {
next http.Handler
}

func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
if r.Method != "POST" {
h.next.ServeHTTP(w, r)
return
}
// write post code here
}
像这样使用处理程序:
func main() {
fs := http.FileServer(http.Dir("./static"))
http.Handle("/", handler{fs})

log.Println("Listening on :3000...")
err := http.ListenAndServe(":3000", nil)
if err != nil {
log.Fatal(err)
}
}

关于ajax - 服务多个静态文件并在 golang 中发出 post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62973741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com