gpt4 book ai didi

go - 是否有可能知道在 HandleFunc 中使用了什么路由

转载 作者:IT王子 更新时间:2023-10-29 01:51:33 25 4
gpt4 key购买 nike

我正在使用 net/http 包中的 http.HandleFunc("/resource", resource.Handle) 我想知道是否有办法查看什么路线(在本例中为 /resource)用于将您带到 resource.Handle?还是我必须为此创建一个 Mux

我想知道如何从 url 路径中提取资源,用它做一些魔术...

最佳答案

是的,你可以

主要要做的事情:

  • 使用 HandleFunc 方法使用的 DefaultServeMux
  • 构造一个假的http.Request

例如:

package main

import (
"fmt"
"net/http"
"net/url"
)

func main() {

theUrl, err := url.Parse("/response")
if err != nil {
fmt.Println(err.Error())
return
}
http.HandleFunc("/response", func(w http.ResponseWriter, r *http.Request) {

})

handler, path := http.DefaultServeMux.Handler(&http.Request{Method: "GET", URL: theUrl})

fmt.Println(handler, path)

}

看这个Go Playground

关于go - 是否有可能知道在 HandleFunc 中使用了什么路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23896805/

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