问题标签 [go-gin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3749 浏览

go - 如何为 golang gin 框架返回 gzip 响应

我正在尝试使用 golang 框架 gin 返回一个 gzip 响应。

他们在这里提供了一个例子: https ://github.com/gin-gonic/contrib/blob/master/gzip/example/example.go

当我使用此示例时,它不会返回 gzip 压缩的内容。

使用上面的代码,我从 curl 获得以下输出

请注意,内容未压缩,并且添加了额外的垃圾字符。

“?嗯????”

到目前为止,我不知道如何让它返回 gzip。我认为示例代码中存在错误,但我无法弄清楚。

先感谢您。

0 投票
2 回答
25075 浏览

go - 如何在杜松子酒中记录响应正文

我需要在 gin 的中间件中记录响应正文,但我不知道如何获取响应正文。任何人都可以帮忙吗?

我正在使用这样的中间件:

我的问题是,如何从中间件的上下文中获取响应体?

0 投票
1 回答
1358 浏览

session - 在golang(gin gonic框架)中设置地图,结构到会话

我正在使用 gin gonic 构建一个 Web 应用程序。我使用https://github.com/gin-gonic/contrib/tree/master/sessions来处理会话。例如,我将一个整数值设置为会话:

在另一个控制器中,我可以通过session.Get("mysession").

但是如果我设置地图或结构。我只能在同一个控制器中获取会话。这里有什么问题??

0 投票
1 回答
5295 浏览

go - 监听 TCP4 而不是 TCP6

我正在使用https://github.com/gin-gonic/gin编写一个http服务但是当我部署它时,它一直在tcp6上部署(根据netstat)

0 投票
5 回答
7866 浏览

go - Golang Gin "c.Param undefined (type *gin.Context has no field or method Param)"

我尝试使用 Gin,它是 Golang 的框架。
https://github.com/gin-gonic/gin

我从官方 github 复制了示例代码。
就像这样。

但我得到了错误。

有谁知道我该如何解决这个问题?

・CentOS7

・go版本go1.6.3 linux/amd64

编辑:

我实际上使用滑翔,但我将杜松子酒更新为全局。并且还将 Go 更新到 1.7,但仍然出现相同的错误:

0 投票
3 回答
7015 浏览

go - Golang gin gonic Web 框架代理路由到另一个后端

如何在Gin Gonic web golang 框架中将一些路由的代理 Web 请求反向到另一个后端

有没有办法直接在Handle函数中转发如下图?

router := gin.New() router.Handle("POST", "/api/v1/endpoint1", ForwardToAnotherBackend)

0 投票
1 回答
2489 浏览

json - How to send an array of maps and iterate over it using gin-templating

Following is the snippet of a working code. I am using gin templating engine.

And in index template I have:

As you can see I have hard-coded the value of students on the headers (the map). I want to have this data from a rest API that I have built. the response of my rest API is an array:

I can unmarshal this JSON response into map[string]string instead of map[int]map[string]string. How can pass this unmarhsaled body in parameter value for students and then iterate over this array the index template?

0 投票
1 回答
6214 浏览

go - 如何定义中间有id的go-gin路由

我想定义一条路线

如何定义这种路由并拦截处理程序中的用户 ID。像这样的东西

在这种情况下,如何读取我的 Go 代码中的 userid 变量?

0 投票
2 回答
5566 浏览

go - go build error "db.GetUsers undefined (type *gorm.DB has no field or method GetUsers)"

我是 golang 的新手,正在尝试使用 gin + gorm 制作 API 服务器。
我尝试构建下面的代码,但type *gorm.DB has no field or method GetUsers出现错误。
这是一个非常简单的 API 服务器,我只想从users表中获取所有用户。

我实现GetUsers()controllers/user.go,我还创建了users表。
我不知道为什么会这样说no field or method GetUsers。有人给我一个解决这个问题的建议。

0 投票
2 回答
2733 浏览

testing - 在 Golang 中模拟函数来测试我的 http 路由

我完全不知道如何模拟一个函数,而不使用任何额外的包,如 golang/mock。我只是想学习如何做到这一点,但找不到很多像样的在线资源。

本质上,我关注了这篇优秀的文章,该文章解释了如何使用接口来模拟事物。

因此,我重新编写了我想测试的功能。该函数只是将一些数据插入数据存储区。我的测试没问题——我可以直接模拟这个函数。

我遇到的问题是在我试图测试的 http 路由中模拟它。我正在使用 Gin 框架。

我的路由器(简化版)如下所示:

调用 UpdateOperation 函数:

所以,我需要模拟 FindAndCompleteOperation() 函数。

主要(简化)函数如下所示:

为了测试更新操作的路线,我有这样的事情:

最初,我试图作弊,只是尝试了这样的事情:

但这会影响所有其他测试等。

我希望有人可以简单地解释模拟 FindAndCompleteOperation 函数的最佳方法是什么,这样我就可以测试路线,而不依赖于数据存储等。