GoFr框架v1.0.2版本发布

GoFr框架v1.0.2版本发布 GoFr 版本 v1.0.2 已经发布!

请将您的应用程序更新到最新的 GoFr 版本。

更新日志

功能增强:

  1. 重构 SubscribeWithCommit 方法,以消费来自 Google PubSub 的所有消息(之前限制为仅消费一条) #92
  2. 移除 pubsub 包中重复的指标初始化代码 #89

错误修复:

  1. 修复使用 HTML 表单发起请求时 ctx.Bind 的问题 #91

1 回复

GoFr v1.0.2的发布带来了两个实用的功能增强和一个重要的错误修复,对于使用PubSub和表单绑定的项目来说值得立即升级。

1. SubscribeWithCommit 方法的重构 这个改动解决了之前方法只能消费单条消息的限制,现在可以持续消费流式消息了。这对于构建实时数据处理服务至关重要。

// 示例:消费Google PubSub中的所有消息
func main() {
    app := gofr.New()
    
    app.SubscribeWithCommit("subscription-name", func(ctx *gofr.Context) error {
        var msg YourMessageStruct
        if err := ctx.Bind(&msg); err != nil {
            return err
        }
        
        // 处理消息逻辑
        ctx.Logger.Infof("Processing message: %v", msg)
        
        // 返回nil自动提交消息
        return nil
    })
    
    app.Run()
}

2. 重复指标初始化代码的移除 这个优化减少了pubsub包中的代码冗余,虽然对用户透明,但有助于降低代码复杂性和维护成本。

3. ctx.Bind 对HTML表单的修复 这个修复特别重要,之前使用HTML表单提交数据时,ctx.Bind可能无法正确解析数据。

// 修复后可以正确处理表单数据
func handler(ctx *gofr.Context) (interface{}, error) {
    var data struct {
        Name  string `form:"name"`
        Email string `form:"email"`
    }
    
    // 现在可以正确绑定HTML表单数据
    if err := ctx.Bind(&data); err != nil {
        return nil, err
    }
    
    ctx.Logger.Infof("Received form data: Name=%s, Email=%s", data.Name, data.Email)
    return "Form processed successfully", nil
}

升级命令:

go get -u gofr.dev@v1.0.2

这次更新虽然看起来是小版本迭代,但SubscribeWithCommit的重构和表单绑定修复都是实际开发中经常遇到的核心功能,建议所有GoFr用户尽快升级。

回到顶部