如何在 Vercel 无服务器功能中使用 Go Gin?
How to use Go Gin in vercel serveless functions?
如何制作一个文件来处理 vercel 无服务器功能的所有路由?
默认情况下它使用内置处理程序,有什么方法可以使用 gin 模块来做同样的事情吗?
package handler
import "github.com/gin-gonic/gin"
/* get the post data and send the same data as response */
func Hi(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
}
如果我正确理解了你的问题,你只需要创建结构处理程序并创建一个方法“InitRoutes”返回带有所有 handleFuncs 的路由器
handleFuncs 也应该是 Handler 的方法
例如:
type Handler struct {
// here you can inject services
}
func NewHandler(services *service.Service) *Handler {
return &Handler{}
}
func (h *Handler) InitRoutes() *gin.Engine {
router := gin.New()
auth := router.Group("/group")
{
auth.POST("/path", h.handleFunc)
auth.POST("/path", h.handleFunc)
}
return router
}
之后你应该将它注入你的 httpServer
srv := http.Server{
Addr: ":" + port,
Handler: Handler.InitRoutes(),
MaxHeaderBytes: 1 << 20,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
}
srv.ListenAndServe()
如何制作一个文件来处理 vercel 无服务器功能的所有路由?
默认情况下它使用内置处理程序,有什么方法可以使用 gin 模块来做同样的事情吗?
package handler
import "github.com/gin-gonic/gin"
/* get the post data and send the same data as response */
func Hi(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello World!",
})
}
如果我正确理解了你的问题,你只需要创建结构处理程序并创建一个方法“InitRoutes”返回带有所有 handleFuncs 的路由器
handleFuncs 也应该是 Handler 的方法
例如:
type Handler struct {
// here you can inject services
}
func NewHandler(services *service.Service) *Handler {
return &Handler{}
}
func (h *Handler) InitRoutes() *gin.Engine {
router := gin.New()
auth := router.Group("/group")
{
auth.POST("/path", h.handleFunc)
auth.POST("/path", h.handleFunc)
}
return router
}
之后你应该将它注入你的 httpServer
srv := http.Server{
Addr: ":" + port,
Handler: Handler.InitRoutes(),
MaxHeaderBytes: 1 << 20,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
}
srv.ListenAndServe()