저는 aws 람다에서 go를 사용하고 있으며 일반적인 미들웨어 솔루션을 찾고 있습니다. 다음 코드가 있습니다:
으아악미들웨어 함수에는 이 유형을 사용하는 매개변수 events.apigatewaywebsocketproxyrequest
因为目标处理程序 wshandler
가 있습니다.
아래와 같이 매개변수event events.apigatewayproxyrequest
를 취하는 또 다른 핸들러가 있습니다. 매개변수가 일치하지 않아 이 미들웨어를 사용할 수 없습니다.
미들웨어 핸들을 interface{}
로 변경해 보았지만 작동하지 않았습니다. go는 이 유형에 대해 불평합니다.
모든 핸들러 유형에 대해 미들웨어가 작동하도록 하는 방법이 있나요?
내 시스템에 복제할 수 있었던 작동하는 솔루션을 공유하겠습니다. 먼저 제가 사용하는 프로젝트 레이아웃을 공유하겠습니다.
으아악이제 코드에 집중해 보겠습니다.
middlewares/middlewares.go
코드는 다음과 같습니다.
으아악기본 개념을 요약해 보겠습니다.
event
结构体,它将成为我们的通用事件。它是 record
구조에 대한 래퍼를 정의합니다. record
结构使用结构嵌入来嵌入我们要处理的所有事件(例如 event.apigatewayproxyrequest
和 sqsevent
). events/http_event.json
여기서는 할 말이 없습니다.
events/sqs_event.json
여기에도 마찬가지입니다.
hello-world/main.go
이벤트 정보를 얻는 방법을 참고하세요.
sqs/main.go
고려해야 할 몇 가지 사항이 있습니다:
이 내용이 도움이 되었거나 더 필요한 사항이 있으면 알려주세요. 감사합니다!
위 내용은 Go에서 람다 미들웨어에 대한 일반 유형을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!