ginrpc web ginrpc

afocus • 1722 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
# ginrpc 用于 RPC 风格编码的 Gin 中间件 - 高性能 **使用泛型而不是反射,没有性能损失** - 简单且可定制 - 自动绑定参数并验证 - 统一的响应/错误处理 ## 安装 ``` $ go get github.com/apicat/ginrpc ``` ## 使用 ### 基本方式 使用 `ginrpc.Handle` 转换你的rpc函数,仅此而已 ```go type In struct { ID int64 `uri:"id" binding:"required"` } type Out struct { Message string `json:"message"` } func rpcHandleDemo(c *gin.Context, in *In) (*Out, error) { msg := fmt.Sprintf(" myid = %d", in.ID) return &Out{Message: msg}, nil } func main() { e := gin.Default() e.POST("/example/:id", ginrpc.Handle(rpcHandleDemo)) } ``` ### 自定义方式 通过中间件注册配置信息 - `ReponseRender` 自定义响应处理。 - `AutomaticBinding` 你可能想自己处理绑定,因此可以禁用默认的自动绑定。默认是启用的 - `RequestBeforeHook` 添加一个前置钩子。 比如打印请求参数,或者自定义绑定可以在这里处理 [查看完整示例](examples/custom/main.go) ```go e := gin.Default() e.Use(ginrpc.AutomaticBinding(false), ginrpc.RequestBeforeHook(customBind)) ```
授权协议:
MIT
开发语言:
go 查看源码»
1722 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传