首頁 > 後端開發 > Golang > 主體

如何在 Go 中使用不同的句柄模式在同一連接埠上提供網頁和 API 路由?

Barbara Streisand
發布: 2024-11-20 14:21:17
原創
562 人瀏覽過

How to Serve Web Pages and API Routes on the Same Port with Different Handle Patterns in Go?

在同一連接埠上使用不同的句柄模式提供網頁和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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板