问题标签 [go-echo]

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 回答
234 浏览

go - 如何在 Echo 框架中绑定 multipart/form-data 数组?

我正在使用flutter和Go Echo框架编写一个api服务器,我想将数据从flutter发送到Go并保存,但c.bind()在Go中不起作用:

按照上面的代码创建一个结构体,如下图所示进行绑定:

页面和标签数据未​​绑定。其他字段是绑定的,但为什么不只是多数组字段?我该如何绑定?我是初学者,任何建议将不胜感激。

0 投票
1 回答
102 浏览

go - 请告诉我如何将多数组绑定到结构

通过 c.FormParams 命令接收以下数据,请告诉我如何将其绑定到_getDatastruct,

我想将页面的数据作为数组获取,但我得到了[]

0 投票
1 回答
50 浏览

go - 相同对象值的不同 api 响应

这是代码示例:

如果我使用来自service.GetValue()方法的值,API 会给出如下响应。它将它转换为某种我不知道的字符串。当我检查value.Value属性时,reflect.TypeOf(value.Value)说它是[]int8as 类型。VSCode 调试器也批准它。

请求中使用的对象:

在此处输入图像描述

响应:

如果我手动设置期望值,它会按预期工作,我不明白为什么第一个不是。

请求中使用的对象:

在此处输入图像描述

响应:

0 投票
0 回答
31 浏览

go - SQL 不断打开套接字,导致打开文件过多错误。有没有更好的方法来处理 GO 中的 SQL 连接?

我在 GO 中有一个 API,使用 echo 和 SQL Server 作为数据库。

db.Ping()在每个端点的开头使用来检查数据库是否仍然连接,这会不断打开与新套接字的数据库的新连接,最终导致打开文件过多错误。

db.Stats()返回这个 {"MaxOpenConnections":0,"OpenConnections":413,"InUse":413,"Idle":0,"WaitCount":0,"WaitDuration":0,"MaxIdleClosed":2,"MaxIdleTimeClosed":62,"MaxLifetimeClosed":0}

即使活动请求的数量远低于此,OpenConnections 仍会继续增加。

这是一个示例片段:

0 投票
1 回答
184 浏览

go - 没有获得“Access-Control-Allow-Origin”标头......即使使用 middleware.CORS()

我的 API 使用 Echo 框架提供服务。当我fetch从我的 React 应用程序拨打电话时,我得到

即使我像这样设置 Echo:

我尝试了以下方法,但得到了相同的结果:

在响应中,我没有看到access-control-allow-origin标题。即使我输入,我也会得到相同的localhost:3000结果AllowOrigins

0 投票
1 回答
242 浏览

go - Echo Groups 无法使用 oapi-codegen 处理 OpenAPI 生成的代码

我正在使用oapi-codegen生成我的服务器代码并使用 Echo Labstack 作为服务器。当我传递一个Group实例Openapi.RegisterHandlers而不是一个实例时,对于该组中的任何请求Echo,我总是会收到 400 错误:{"message":"no matching operation was found"}

如果发送请求/api/foofoo生成的服务器代码中定义的 API 端点在哪里,我会收到 400 错误。如果我这样做,/api/<some undefined api>我也会得到 400。如果我确实发送请求/baz,我会按预期得到 404,因为这不是定义的路线。如果我没有将前缀传递给Group(),每个请求都会收到 400 错误。如果我使用,我会得到相同的行为RegisterHandlersWithBaseURL()

0 投票
0 回答
197 浏览

go - 将错误映射到 Labstack Echo 中的 HTTP 状态代码

覆盖时HTTPErrorHandler,我观察到状态代码 200 被发送给用户,即使我将响应状态设置为不同的值:

在上面的示例中,请求/1或者/2总是返回 200。如果我注释掉对 的覆盖HTTPErrorHandler,我将分别返回状态 500 和 403。因此,似乎覆盖HTTPErrorHandler将所有状态更改为 200。

如果有办法在中间件中映射错误,我很好。

0 投票
1 回答
117 浏览

go - Echo 跳过 JWT 中间件

我使用了 golang jwt 中间件。

它等待所有功能的令牌,但我不想将此中间件用于登录功能。如何防止这种情况?

0 投票
1 回答
65 浏览

go - Golang Echo - 中间件在不返回下一个时仍在执行下一个路由

我正在尝试使用身份验证中间件来检查用户当前是否已连接并在执行路由之前进行会话,但似乎我的中间件并没有停止执行路由并执行下一个路由,即使我没有调用下一个()。

这是我的代码:

当我向路由发送 GET 请求时/,中间件会正确执行并到达return echo.ErrUnauthorized语句,但随后/仍然会执行,并且我没有得到任何 401 状态代码。

谢谢