在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中文網其他相關文章!