老师,前面用gin重构一次代码,然后紧接着又用微服务重构一次代码,请问这样做的目的是什么?
来源:10-11 编码实战: 改造账号系统service

杰神
2019-11-26
用gin重构代码的时候,传入的Context对象是ctx *gin.Context
,用微服务传入的对象是context
,这两个传入的对象应该是有区别的,例如接收参数使用的方法不同,例如gin的gin.Context里面内置了一些绑定参数和校验校验的方法,比如说ctx.ShouldBindJSON,这些在微服务里面传入的这个原生context里面应该是没有的。所以我就感觉,整个课程,第一次是用原生http来写的接口,没必要经过第二次gin的重构,直接使用微服务里面的就可以了。
还有一个疑问就是,使用了go-micro
,是否意味着我们要放弃gin之类的框架,如果不放弃,那我们继续用这类框架用的是什么?在课程里面,使用微服务重构之后,gin的gin.Contex好像没用到了。看到就在api网关那一层里面用到了gin
写回答
1回答
-
同学你好,gin作为一种web框架,其关于http服务与路由方面的功能是比较完善的,比如在middlewareiddleware和文件传输方面都封装了比较好的接口。go-micro也有相应的web模块接口,相对来说功能没那么全,所以目前gin与go-micro结合是有意义的。只不过往后go-micro在这方面更加完善的话,则可以替代gin。关于如何取舍其实还是看具体的应用场景,毕竟gin也只是一个轻量的web框架。
00
相似问题