在 Go 中,在不使用 Web 框架的情况下开发 REST API 涉及手动处理路径映射并从传入 HTTP 请求中提取路径参数。本文提供了仅使用标准 http 包的解决方案。
要将路径映射到处理程序并检索相应的路径参数,请执行以下步骤:
1。路由路径:
使用 http.HandleFunc 函数将指定路径与处理函数关联。例如,要映射 /provisions/:id 路径,请使用:
http.HandleFunc("/provisions/", Provisions)
2。提取参数:
在处理函数中,分割请求 URL 的路径以提取路径参数。例如,要检索 /provisions/:id 路径中的 id 参数:
id := strings.TrimPrefix(req.URL.Path, "/provisions/")
您还可以使用 strings.Split 或正则表达式来实现更复杂的路径结构。
提供的代码片段说明了如何实现这些步骤:
func main() { http.HandleFunc("/provisions/", Provisions) http.ListenAndServe(":8080", nil) } func Provisions(w http.ResponseWriter, r *http.Request) { // Retrieve "id" parameter id := strings.TrimPrefix(req.URL.Path, "/provisions/") // Handle the request using the extracted path parameter }
利用此方法可以完全控制路径映射和参数检索,而无需引入外部依赖项。
以上是如何在没有框架的情况下从 Go 中的 HTTP 请求中提取路径参数?的详细内容。更多信息请关注PHP中文网其他相关文章!