go-gin相关内容

Go gin 框架 CORS

我正在使用 Go gin 框架 gin func CORSMiddleware() gin.HandlerFunc {返回函数(c *gin.Context){c.Writer.Header().Set("Content-Type", "application/json")c.Writer.Header().Set("Access-Control-Allow-Origin", "*")c.Wri ..
发布时间:2022-01-15 19:33:38 其他开发

如何在 golang 中使用 gin-gonic 服务器编写流 API?试过 c.Stream 没用

我想在 golang 中使用 gin-gonic 服务器创建一个流 API. func StreamData(c *gin.Context) {chanStream := make(chan int, 10)去 func() {for i := 0;我<5;我++ {chanStream 但是当我试图到达终点时,它只是卡住了,没有响应.是否有人使用了流功能,以便他/她可以指出我可能正在做的错 ..
发布时间:2021-11-15 00:49:54 其他开发

如何在 golang 中使用 gin-gonic 服务器编写流 API?试过 c.Stream 没用

我想在 golang 中使用 gin-gonic 服务器创建一个流 API. func StreamData(c *gin.Context) {chanStream := make(chan int, 10)去 func() {for i := 0;我<5;我++ {chanStream 但是当我试图到达终点时,它只是卡住了,没有响应.是否有人使用了流功能,以便他/她可以指出我可能正在做的错 ..
发布时间:2021-11-15 00:49:41 其他开发

如何为 BindJSON 设置模拟 gin.Context

我正在 Go 中设置测试. 我使用 go-sqlmock 来测试 mysql 连接和 Go Gin 作为框架.现在我尝试测试mysql插入逻辑. 问题是我需要设置模拟 gin.Context 稍后用于 BindJSON. 但到目前为止我无法设置这个 gin.Context. 服务端:golang数据库:mysql网络框架:gin dao.go unc PostImageTo ..
发布时间:2021-09-14 18:47:15 其他开发

如何模拟 gin.Context?

嗨,我一直在尝试模拟 gin.Context 但我一直无法让它工作我正在尝试他们在这个解决方案中所做的,但它不适用于我的路由器这是我遇到的错误 r.POST("/urls", urlRepo.CreateUrl) 不能在 r.POSTcompilerIncompatibleAssign 的参数中使用 urlRepo.CreateUrl(func(c controllers.Iconte ..
发布时间:2021-09-06 18:49:51 其他开发

如何从sqlx获取最后插入的行的ID?

我想取回使用 sqlx 插入到 MySql 数据库中的最后一篇文章的 ID: resultPost, err := shared.Dbmap.Exec("INSERT INTO post (user_id, description, link) VALUES (?, ?, ?)", userID, title, destPath)如果错误!= nil {log.Println(err)c.JSO ..
发布时间:2021-06-05 19:41:04 数据库

using := 给出未使用的错误,但在 Go 中使用 = don't

我有一段代码,在使用 := 时出错,但是当我使用 = 时,它编译正确.我学到的是 := 只需要至少定义一个变量,其他的不需要定义,但考虑到这段代码是 Go 中的错误吗? 无法编译的代码: 错误:services/db_service.go:16:会话已声明但未使用 打包服务进口 (“gopkg.in/mgo.v2"“日志")const DB = "mmdb_dev"var Sessi ..
发布时间:2021-06-03 19:49:10 其他开发

在 Golang 中制作模拟 gin.Context

我正在使用 Gin 框架编写 REST API.但是我在测试控制器和研究 TDD 和 Mock 时遇到了麻烦.我尝试将 TDD 和 Mock 应用于我的代码,但我不能. 我创建了一个非常精简的测试环境并尝试创建一个控制器测试.如何为 Gin.Context 创建 Mock? 这是我的示例代码: 包主进口 (“strconv"“github.com/gin-gonic/gin")//楷 ..
发布时间:2021-06-03 18:40:33 其他开发

我应该在程序包级别但在http处理程序之外声明变量吗?

我将gin gonic用作HTTP框架,并且需要像这样通过共享变量对一些路径进行分组: ur:= r.Group("/")ur.Use(package.Prepare){ur.GET("/",package.Home)} 在 Prepare 处理程序中,我声明了包变量,例如 package.tplPath ,因为我希望所有子路由都可以访问此变量,而不是在每个http处理程序中重写代码. ..
发布时间:2021-05-15 18:58:25 其他开发

将Tus可恢复文件上传协议与Gin-Gonic CORS集成

我研究了与Gin和Tus的CORS问题相关的类似问题;没有一个解决我目前遇到的问题. 当前实现通过添加一个小的包装程序与标准net/http包一起使用. //包装函数func enableCors(w * http.ResponseWriter){(* w).Header().Set("Access-Control-Allow-Origin","*")}//代码的简化版本作曲家:= tus ..
发布时间:2021-05-11 20:01:13 其他开发

如何从gin中的前端获取数据?

让我感到遗憾的是,我一直无法弄清楚如何从Gin框架的前端获取数据.在Django中,我得到了数据,所以: user = request.data.get('user')打印(用户) 一切都是简单易懂的.我应该如何在杜松子酒中做到这一点? user:= c.Query("user")用户:= c.Param(“用户")用户:= c.Params.ByName(“用户")用户:= c.Po ..
发布时间:2021-05-11 20:00:43 其他开发

如何在杜松子酒中组合路线组?

我在两个不同的包中为 gin 路由创建了两个不同的组,分别是/user 和/todo 一个文件.这是我的 userroutes.go 文件. 包userrouter进口 (" github.com/gin-gonic/gin")//用户的UserRoutesfunc UserRoutes()* gin.RouterGroup {r:= gin.Default()v1:= r.Group("/用户 ..
发布时间:2021-05-11 19:55:58 其他开发

如何在gin路由中添加多个组以实现api版本继承?

我目前正在使用Go + Gin开发API. API应该包含一个版本字符串,例如字符串v1 http://127.0.0.1:3000/v1/user/get_username 那没问题,因为我可以用Gin创建一个小组 v1:= router.Group("/v1")v1.GET("/user/get_username",modules.UserGetUsername) 但是. ..
发布时间:2021-05-11 19:51:41 其他开发

杜松子酒通配符路线与现有孩子发生冲突

我想构建一个 gin 程序,有以下路线: r.GET("/special",...//提供特殊资源.r.Any("/*",...//提供默认资源. 但是,这样的程序在运行时会出现紧急情况: [GIN-debug] GET/special->main.main.func1(2个处理程序)[GIN调试] GET/*->main.main.func2(2个处理程序)紧急:通配符路由"*"与路 ..
发布时间:2021-05-11 19:50:58 其他开发

如何使用Context.Request.Body并保留它?

我正在尝试编写一个中间件,在其中我将针对请求主体进行json模式验证.验证之后,我需要再次使用请求正文.但是我无法弄清楚如何做到这一点.我提到了这篇文章并找到了一种进入身体的方法.但是,一旦使用了请求正文,我就需要下一个函数可用. 这是示例代码: 程序包主要进口 ("fmt""io/ioutil""net/http"" github.com/gin-gonic/gin"//"github. ..
发布时间:2021-05-11 19:43:26 其他开发

设置杜松子酒中找不到的路线

我已经在Gin中设置了默认路由器和一些路由: router:= gin.Default()router.POST("/users",保存)router.GET("/users",getAll) 但是我该如何处理杜松子酒中找不到404路线? 最初,我使用的是了解Gin所用的httprouter,所以这就是我本来拥有的... router.NotFound = http.Handle ..
发布时间:2021-05-11 19:39:22 其他开发

监听TCP4而不是TCP6

我正在使用 https://github.com/gin-gonic/gin 编写一个http服务但是当我部署它时,它会继续部署在tcp6上(根据netstat) r:= gin.Default()//这些都不起作用,它一直在tcp6上列出r.Run(“:8080")r.Run("*:8080")r.Run("0.0.0.0:8080") 解决方案 文档说明 Run将路由器附加到h ..
发布时间:2021-05-11 19:37:03 其他开发

使用gqlgen + go gin的自定义错误状态代码

最近我一直在将我的GO REST API更新到 graphQl API ,我遇到了一个问题无法使用gqlgen自定义我的状态代码. 我得到的答复 标题 状态码:200 OK {数据:空,错误:[{消息:“未经授权的访问",路径:["..."]}]} 期望的标题 状态码:401未经授权 任何帮助都会非常感激! 解决方案 假设您有一个类似于以下代码的 gqlgen ..
发布时间:2021-05-04 20:48:20 其他开发

将一种类型映射到另一种类型

假设我有以下几种类型. type合同结构{ID字符串`json:'id'gorm:"column:uuid"名称字符串`json:" name"gorm:"column:name"`说明字符串`json:'descr';gorm:"column:descr"ContractTypeId int`json:'; contract_type_id';gorm:"column:contract_ty ..
发布时间:2021-04-12 20:29:37 其他开发