如何在 go 中为 lambda 中间件创建泛型类型

问题内容
,我正在 aws lambda 中使用 go 并寻找通用的中间件解决方案。我有以下代码:,中间件函数有一个参数 events.apigatewaywebsocketproxyrequest 因为目标处理程序 wshandler 使用此类型。,我有另一个处理程序,它采用参数 event events.apigatewayproxyrequest ,如下所示。由于参数不匹配,因此无法使用此中间件。,我尝试将中间件句柄更改为 interface{},但不起作用。 go 抱怨这种类型。,有没有办法让中间件适用于任何处理程序类型?,让我分享我能够在我的系统上复制的工作解决方案。首先给大家分享一下我使用的项目布局:,现在,让我们关注代码。,代码如下:,让我们总结一下基本概念:,我们定义 event 结构体,它将成为我们的通用事件。它是 record 结构的包装器。
record 结构使用结构嵌入来嵌入我们要处理的所有事件(例如 event.apigatewayproxyrequestsqsevent)。
我们依靠中间件签名中的这一点来尽可能通用。,这里没什么可说的。,这同样适用于这里。,请注意我们如何获取活动信息。,有几个注意事项需要考虑:,如果这有帮助或者您需要其他任何东西,请告诉我,谢谢!,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册