草庐IT

gin-gonic

全部标签

file-upload - 使用 Golang Gin 检索发布的文件

我使用Golang框架Gin有一段时间了,没有任何问题,但我现在需要处理发布到我的API的图像。我可能知道如何处理图像的验证、调整大小和存储,但现在我只是在努力弄清楚如何获取已发布的文件并将其分配给变量。我查看了GinAPI文档,但没有什么特别之处。我正在按如下方式curl我的API(这可能是错误的?)...$timecurl-XPOST--formupload=@ss.png-H"Content-Type:application/json"--cookie'session=23423v243v25c08efb5805a09b5f288329003'"http://127.0.0.1:

unit-testing - 在 Golang 中制作模拟 gin.Context

我正在使用Gin框架编写RESTAPI。但是我在测试我的Controller和研究TDD和Mock时遇到了麻烦。我尝试将TDD和Mock应用于我的代码,但我做不到。我创建了一个非常简化的测试环境,并尝试创建一个Controller测试。如何为Gin.Context创建Mock?这是我的示例代码:packagemainimport("strconv""github.com/gin-gonic/gin")//MODELStypeUsers[]UsertypeUserstruct{Namestring`json"name"`}funcmain(){r:=gin.Default()r.GET(

去和 Gin : Passing around struct for database context?

我刚刚开始尝试Go,我希望用它重新实现一个用node编写的API服务器。我在尝试使用依赖注入(inject)将数据库上下文作为gin中间件传递时遇到了障碍。到目前为止,我已经将其设置为:main.go:packagemainimport("fmt""runtime""log""github.com/gin-gonic/gin""votesforschools.com/api/public""votesforschools.com/api/models")typeDBstruct{models.DataStore}funcmain(){ConfigRuntime()ConfigServe

go - Gin /golang - 空请求体

我是Go和Gin的新手,在打印完整的请求正文时遇到问题。我希望能够从第三方POST读取请求正文,但我得到的是空请求正文curl-udumbuser:dumbuserpassword-H"Content-Type:application/json"-XPOST--data'{"events":"3"}'http://localhost:8080/events我的整个代码如下。任何指针表示赞赏!packagemainimport("net/http""fmt""github.com/gin-gonic/gin")funcmain(){router:=gin.Default()authori

go - 设置在 Gin 中未找到的路线

我已经在Gin中设置了一个默认路由器和一些路由:router:=gin.Default()router.POST("/users",save)router.GET("/users",getAll)但是如何处理404RouteNotFoundinGin?最初,我使用的是我理解Gin使用的httprouter,所以这就是我最初拥有的......router.NotFound=http.HandlerFunc(customNotFound)和功能:funccustomNotFound(whttp.ResponseWriter,r*http.Request){//returnJSONretur

Go gin 框架 CORS

我正在使用Gogin框架ginfuncCORSMiddleware()gin.HandlerFunc{returnfunc(c*gin.Context){c.Writer.Header().Set("Content-Type","application/json")c.Writer.Header().Set("Access-Control-Allow-Origin","*")c.Writer.Header().Set("Access-Control-Max-Age","86400")c.Writer.Header().Set("Access-Control-Allow-Methods"

go - 如何在 Gin 中记录响应正文

我需要在gin的中间件中记录响应正文,但我不知道如何获取响应正文。有人可以帮忙吗?我正在使用这样的中间件:funcLogger()gin.HandlerFunc{returnfunc(c*gin.Context){c.Next()statusCode:=c.Writer.Status()ifstatusCode>=400{//okthisisanrequestwitherror,let'smakearecordforit//logbodyhere}}}我的问题是,如何从中间件的上下文中获取响应体? 最佳答案 您需要先拦截响应的写入并

go - 如何在 Gin 中记录响应正文

我需要在gin的中间件中记录响应正文,但我不知道如何获取响应正文。有人可以帮忙吗?我正在使用这样的中间件:funcLogger()gin.HandlerFunc{returnfunc(c*gin.Context){c.Next()statusCode:=c.Writer.Status()ifstatusCode>=400{//okthisisanrequestwitherror,let'smakearecordforit//logbodyhere}}}我的问题是,如何从中间件的上下文中获取响应体? 最佳答案 您需要先拦截响应的写入并

go - 如何使用 Gin Web 框架将参数传递给 Golang 中的路由器处理程序?

我正在使用Gin,https://gin-gonic.github.io/gin/,用Golang构建一个简单的RESTfulJSONAPI。路线是这样设置的:functestRouteHandler(c*gin.Context){//dosmth}funcmain(){router:=gin.Default()router.GET("/test",testRouteHandler)router.Run(":8080")}我的问题是如何将参数传递给testRouteHandler函数?例如,一个公共(public)数据库连接可能是一个希望在路由之间重用的东西。将它放在全局变量中是最好的

go - 如何使用 Gin Web 框架将参数传递给 Golang 中的路由器处理程序?

我正在使用Gin,https://gin-gonic.github.io/gin/,用Golang构建一个简单的RESTfulJSONAPI。路线是这样设置的:functestRouteHandler(c*gin.Context){//dosmth}funcmain(){router:=gin.Default()router.GET("/test",testRouteHandler)router.Run(":8080")}我的问题是如何将参数传递给testRouteHandler函数?例如,一个公共(public)数据库连接可能是一个希望在路由之间重用的东西。将它放在全局变量中是最好的