You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
569 B
24 lines
569 B
package middleware
|
|
|
|
import (
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
)
|
|
|
|
// CustomResponseMiddleware 自定义响应中间件,处理嵌套问题
|
|
func CustomResponseMiddleware(r *ghttp.Request) {
|
|
// 执行下一个中间件或处理程序
|
|
r.Middleware.Next()
|
|
|
|
// 获取处理程序的响应内容
|
|
response := r.GetHandlerResponse()
|
|
if response == nil {
|
|
// 如果没有响应内容,则直接返回
|
|
return
|
|
}
|
|
|
|
// 清空原始响应缓冲区,避免重复输出
|
|
r.Response.ClearBuffer()
|
|
|
|
// 自定义返回格式,避免嵌套
|
|
r.Response.WriteJson(response)
|
|
}
|