1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
(您從中調(diào)用的Run)確實(shí)將路由器附加到 a并開(kāi)始偵聽(tīng)和服務(wù) HTTP 請(qǐng)求。它是. 除非發(fā)生錯(cuò)誤,否則它會(huì)無(wú)限期地阻止調(diào)用者。r.Run(":8080")Serve()http.Serverhttp.ListenAndServe(addr, router)
如果你想用這樣的方式創(chuàng)建測(cè)試服務(wù)器,你必須r.Run(":8080")從中取出。例如,您可以像這樣修改代碼:Serve()Serve()httptest.NewServer(Serve())
func Serve() *gin.Engine {
logger.Log.Info("Serve()")
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Use(ginzap.Ginzap(logger.Log, time.RFC3339, false))
r.Use(ginzap.RecoveryWithZap(logger.Log, true))
r.GET("/nodes", listNodes)
r.POST("/uuid", getUUID)
r.GET("/hwstatus/:node_id", getNodeHWStatus)
r.PUT("/hwstatus/:node_id", updateNodeHWStatus)
node := r.Group("/node")
{
node.POST("/", createNode)
node.GET("/:node_id", describeNode)
node.PUT("/:node_id", updateNode)
node.DELETE("/:node_id", deleteNode)
node.POST("/deploy/:node_id", deployNode)
}
return r
}
func Start() {
if err := Serve().Run(":8080"); err != nil {
logger.Log.Fatal("Failed to Run Server", zap.Error(err))
//log.Fatalf("Failed to Run server: %v ", err)
}
}
- 1 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)