gpt4 book ai didi

Go gin 响应中间件

转载 作者:数据小太阳 更新时间:2023-10-29 03:12:31 29 4
gpt4 key购买 nike

我需要在中间件函数中操作响应数据。假设我有产品处理程序和客户处理程序。产品处理程序返回产品列表,客户返回客户列表。在中间件函数中,我想将这些响应转换为 ApiResponse 结构。

type ApiResponse struct{
Data interface{}
Status ApiStatus{}
}

func someMiddleware(c *gin.Context){
//before handlers
c.Next()
//I need to access response and manipulate it
// apiResponse := ApiResponse{}
// apiResponse.Data = returnedData
// apiResponse.Status = ApiStatus{}

}

我不想在所有的处理函数中填充 ApiResponse。

最佳答案

可能有点太晚了,但无论如何。

最简单的方法通常是使用 gin.ContextGetSet 方法在中间件和处理程序之间传递数据。

但如果你真的需要拦截响应,请参阅我关于 logging response in gin 的回答.唯一的区别是你如何处理截获的响应,但那里所说的关于截获响应的一切都是正确的。

关于Go gin 响应中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47583614/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com