在同一端口上使用不同的句柄模式提供网页和 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中文网其他相关文章!