调用后端接口像调用函数一样简单——Fun改变了我的开发方式

你是否曾经梦想过后端接口调用能像本地函数调用一样简单?

几个月前,我厌倦了繁琐的API对接工作。每次添加新功能,都要定义路由、编写控制器、处理请求参数、定义响应格式...更痛苦的是,前端同事总是因为接口文档更新不及时而出错。

我想要的是:写一个Go方法,前端就能直接调用,就像调用本地函数一样自然。

于是,Fun诞生了!

看看这个神奇的例子:

go 复制代码
// 后端:定义一个用户服务
type UserService struct {
    fun.Ctx // 嵌入上下文获取请求信息
}

type GetUserDto struct {
    UserId int64 
}

// 写一个方法,它就自动变成可调用的接口
func (s *UserService) GetUser(dto GetUserDto) *User {
    return &User{
        Id:   dto.UserId,
        Name: "张三",
        Age:  25,
    }
}

type CreateUserDto struct {
    Name string 
    Age  int    `validate:"min=0,max=150"`
}

func (s *UserService) CreateUser(dto CreateUserDto) *User {
    // 处理创建用户逻辑
    return &User{
        Id:   generateUserId(),
        Name: dto.Name,
        Age:  dto.Age,
    }
}

func main() {
    fun.BindService(UserService{})
    fun.Start(3000) // 服务启动!
}

前端的魔法时刻来了:

typescript 复制代码
// 前端:调用后端方法就像调用本地函数
import fun from './service/fun';

const client = fun.create("ws://localhost:3000");

// 这看起来像本地函数调用,但实际调用了后端
const user = await client.userService.getUser({ userId: 123 });
console.log(user); // { id: 123, name: "张三", age: 25 }

// 创建用户也一样简单
const newUser = await client.userService.createUser({
    name: "李四",
    age: 30
});
console.log(newUser); // { id: 456, name: "李四", age: 30 }

// 完整的类型提示和自动补全!

再也不用手写axios请求、定义接口类型、处理各种异常情况。写好方法,调用方法,就这么简单!

Fun Framework还内置了企业级特性:

  • 🔄 自动依赖注入 - 告别手动初始化
  • 🛡️ 参数验证 - 自动校验输入参数
  • 📝 结构化日志 - 快速定位问题
  • ⚡ 类型安全 - 编译时捕获错误
  • 🎯 自动生成客户端 - 前后端无缝协作

看看 - 一个现代化的协作平台,展示了这个框架的强大能力。

从"Hello World"到复杂的企业应用,Fun Framework让后端开发变得前所未有的简单。忘掉复杂的REST API设计,忘掉繁琐的接口对接,专注于真正有价值的业务逻辑。

如果你也想体验这种革命性的开发方式,不妨试试Fun Framework,让你的代码像诗一样优雅。

项目地址:github.com/fun-go/fun

官网:fungo.ink

基于fun构建的网站 cyi.cc

相关推荐
程序员cxuan2 小时前
Loop 还没玩明白,Graph Engineering 又火了。
人工智能·后端·程序员
uzong2 小时前
把一面面试总结做成一个 Skill:重复的事,就别每次都重写
后端·面试
程序员海军3 小时前
一个 AI 应用开发程序员的一天,都在屏幕前忙些什么?
前端·后端·程序员
不能放弃治疗3 小时前
MCP
后端
江湖十年4 小时前
Go 语言中 YAML to JSON 踩坑笔记
后端·go·json
你驴我5 小时前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
一缕清烟在人间5 小时前
HarmonyOS开发实战:小分享-TextEditPage文字编辑器——Header+TextArea+工具栏
后端·华为·harmonyos·鸿蒙
人间凡尔赛5 小时前
K8s 十年之变:从 Cloud Native 到 AI Native,2026 年后端架构的范式革命
后端·云原生·架构
程序员cxuan5 小时前
Opus 5 深夜炸场,价格还挺香。。。
人工智能·后端·程序员
北冥you鱼5 小时前
Go 语言新手扫盲:指针 * 和 & 使用场景详解
开发语言·后端·golang