1 回答

TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊
如“編寫 Web 應(yīng)用程序”一文中所示,HandleFunc 的示例為:
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
你不能取代r *http.Request通過r *io.ReadCloser。
您需要在包裝器中委托該調(diào)用,如該線程中所建議的:
func wrappingHandler(w http.ResponseWriter, r *http.Request){
handler(w, r.Body)
}
func main() {
http.HandleFunc("/", wrappingHandler)
http.ListenAndServe(":8080", nil)
}
或者簡單地修改您的處理程序:
func handler(w http.ResponseWriter, r *http.Request) {
rb := r.Body
//do something with rb instead of r
}
- 1 回答
- 0 關(guān)注
- 214 瀏覽
添加回答
舉報