gpt4 book ai didi

go - 如何在方法中包装http.Handler

转载 作者:行者123 更新时间:2023-12-01 22:40:12 26 4
gpt4 key购买 nike

进入文件系统的最简单方法是下面的代码。

http.Handle("/files", http.StripPrefix(pathPrefix, http.FileServer(root)))

但是出于目标设计的目的,我更喜欢用这种方法包装功能主体。
f := file{}
http.Handle("/download", f.download)
http.Handle("/upload", f.upload)

如何将代码内容包装在文件struct方法中?

最佳答案

您可以使用http.HandleFunc而不是http.Handle来做到这一点:

f := file{}
http.HandleFunc("/download", f.download)
http.HandleFunc("/upload", f.upload)

假设它具有正确的签名(即,假设 f.download被定义为类似于 func (f file) download(w http.ResponseWriter, r *http.Request)的东西),那么它应该做您想要的。

关于go - 如何在方法中包装http.Handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62097400/

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