在Gin框架中,可以使用context.Set()方法将接口执行完成后的结果存储到gin.Context中,然后使用context.Get()方法从gin.Context中获取结果。

下面是一个示例代码:

package main

import (
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()

	r.GET("/api/:id", func(c *gin.Context) {
		// 获取参数
		id := c.Param("id")

		// 执行接口逻辑
		result := fetchData(id)

		// 将结果存储到 gin.Context 中
		c.Set("result", result)

		// 继续处理其他逻辑
		// ...
	})

	r.GET("/api/result", func(c *gin.Context) {
		// 从 gin.Context 中获取结果
		result, exists := c.Get("result")
		if !exists {
			c.JSON(404, gin.H{"error": "result not found"})
			return
		}

		// 处理结果
		c.JSON(200, gin.H{"result": result})
	})

	r.Run(":8080")
}

func fetchData(id string) string {
	// 模拟接口逻辑
	return "result for " + id
}

在上面的示例中,当访问 /api/:id 路由时,会执行 fetchData() 方法获取结果,并将结果存储到 gin.Context 中。然后,当访问 /api/result 路由时,会从 gin.Context 中获取结果,并返回给客户端。

golang 如何从ginContext中获取接口执行完成后结果

原文地址: https://www.cveoy.top/t/topic/hUSl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录