Hertz 框架原生提供 HTTP1.1、ALPN 协议支持。除此之外,由于分层设计,Hertz 甚至支持自定义构建协议解析逻辑,以满足协议层扩展的任意需求。 网络层切换能力 Hertz 实现了 Netpoll 和 Golang 原生网络库 间按需切换能力,用户可以针对不同的场景选择合适的网络库,同时也支持以插件的方式为 Hertz 扩展网络库实现。 kratos...
Kratos基于Protobuf定义协议,gRPC进行服务间通讯,在公司的强异构开发场景下,具有很强的实用价值。 Kratos基于插件机制开发,极其容易对其进行扩展(看我的kratos-transport,我甚至插入了Gin、FastHttp、Hertz等Web框架)。 综上,是我的理由。在做技术选型的时候,我是横向对比了市面上几乎所有的框架,最终选择了Kratos。 还...
异常处理是每个框架都需要考虑的问题,GoFrame也有自己的设计,可以看他们的官方文档。同事基于自己的实践经验,建议参考: 上面是关于异常的定义,在使用的时候: 这其实就是仿照其他语言的抛出异常,然后在外部使用Try语句进行捕获,这确实是可以的,不过这并不是Golang所提倡的。Golang之所以没有实现类似其他语言的try catch...
使用GIN(后台回复Golang梦工厂:gin,可获取2020GIN中文文档)作为web框架,使用jwt进行身份校验,使用swagger生成接口文档。代码已上传个人github:https://github.com/asong2020/Golang_Dream/tree/master/Gin/gin_jwt_swagger。有需要的自行下载,配有详细使用文档。 Golang梦工厂 2022/07/07 8040 从零开发区块链应用(...
htzhanglong1楼•4 个月前
Golang中基于Gin和Casbin的web使用方式 https://dev.to/maxwellhertz/tutorial-integrate-gin-with-cabsin-56m0 Go语言中的TCP/IP网络编程 https://segmentfault.com/a/1190000014733620 Go实现的PDF生成器 https://github.com/jung-kurt/gofpdf Go编写的高性能,轻量级,无阻塞和事件循环网络库 https://github...
集成Swagger UI到项目,并且读取内嵌的openapi.yaml文档。 1. 编写Buf配置进行OpenAPI文档的生成 细心的你肯定早就发现了在api/admin/service/v1下面有一个buf.openapi.gen.yaml的配置文件,这是什么配置文件呢?我现在把该配置文件放出来: # 配置protoc生成规则 version: v1 managed: enabled: true optimize_for: ...
=nil{return}ifuser==nil{err=errors.New("账户或密码错误")return}// 生成 jwt tokentoken,err=MyJwt.GenerateToken(ctx,username)iferr!=nil{return}return}// GenerateToken 生成 jwt 格式 tokenfunc(lJwt)GenerateToken(ctx context.Context,username string)(token string,err error){tokenHeader:=jwt.New...