在Web 應用場景中,可以方便地同時提供靜態網頁和API同一位址上的路由。這可以實現簡化的架構和高效的資源利用。若要使用不同的手把模式來實現此目的,請依照下列步驟操作:
1.註冊檔案處理程序
註冊檔案伺服器來提供靜態檔案。在此範例中,它用於提供根路徑(/) 的「server/webapps/play_maths」目錄中的檔案:
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs)
2.註冊API Handler
建立一個用於處理API 路由的路由器。在本例中,UserRoutes() 定義了用於建立使用者和擷取所有使用者的路由:
func UserRoutes() *mux.Router { router := mux.NewRouter().StrictSlash(true) router.HandleFunc("/user/create", api.CreateUser) router.HandleFunc("/user/get/all", api.GetAllUsers) return router }
3.將API 處理程序附加到路徑
將API 路由器註冊到特定的根路徑,例如「/api/」。這可確保所有以「/api/」開頭的請求都將由 API 路由處理:
http.Handle("/api/", UserRoutes())
注意: 路由註冊的順序很重要。較長的模式優先於較短的模式。因此,在通用檔案處理程序之前註冊更具體的 API 路由非常重要。這可以防止對 API 路由的請求被檔案處理程序攔截。
執行下列步驟,您可以在相同連接埠位址上提供靜態網頁和 API 路由,同時維護不同的句柄模式。這透過減少對多個伺服器實例的需求來提供靈活性並提高效能。
以上是如何在同一連接埠上使用不同的句柄模式為網頁和 API 路由提供服務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!