gpt4 book ai didi

go - 如何在 net/http 中编写/api/v1/users/id/{id}?

转载 作者:IT王子 更新时间:2023-10-29 01:53:54 24 4
gpt4 key购买 nike

例如,我想执行 /api/v1/users/id/{id}

目前,我有这个:

mux := http.NewServeMux()
mux.Handle("/api/v1/users", HandleUsersV1{db: db, mux: mux})
log.Fatal(http.ListenAndServe(fmt.Sprintf("%s%d", ":", portNumber), mux))

我要:

mux := http.NewServeMux()
mux.Handle("/api/v1", HandleV1{})

然后在 HandleV1 中:

mux.HandleFunc("/users/{id}", handler)

我知道 Gorilla Mux 可以用 PathPrefix 为我做这件事,但我更喜欢 net/http

最佳答案

标准 net/http 不支持动态路径段,因此 /{id} 不会像您想象的那样工作。至于前缀的东西,你可以用这个https://golang.org/pkg/net/http/#StripPrefix .

v1mux := http.NewServeMux()
v1mux.HandleFunc("/users/", handler)

mux := http.NewServeMux()
mux.Handle("/api/v1/", http.StripPrefix("/api/v1", v1mux))

log.Fatal(http.ListenAndServe(fmt.Sprintf("%s%d", ":", portNumber), mux))

关于go - 如何在 net/http 中编写/api/v1/users/id/{id}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51959339/

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