在同一連接埠上使用不同的句柄模式提供網頁和API 路由
在網頁和API 路由都需要的Web 應用程式中要在同一連接埠上提供服務,可以使用Go 標準庫提供的net/http 套件來實現這一點。關鍵原則是較長模式優先於較短模式。
考慮以下程式碼片段:
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs) // Serves static web pages from the specified directory http.Handle("/api", api.UserRoutes()) // Handles API routes using the UserRoutes function
在此範例中,檔案處理程序註冊為根URL 路徑“/ ”,這表示它將處理任何與較長模式不匹配的請求。然後為“/api”路徑註冊 API 路由處理程序。由於“/api”的模式比“/”更長,因此任何以“/api”開頭的請求都會定向到 API 路由處理程序,而所有其他請求將轉到文件處理程序。
注意確保「/api」目錄中不存在任何檔案非常重要,因為由於優先規則,它們將無法存取。透過利用模式優先權功能,可以使用不同的處理程序在同一連接埠上提供網頁和 API 路由。
以上是如何在 Go 中使用不同的句柄模式在同一連接埠上提供網頁和 API 路由?的詳細內容。更多資訊請關注PHP中文網其他相關文章!