这个寒冷的季节 因你的关注 而变得温暖
-
作为一名开发者 ,可能经常遇到这种问题,项目进度太紧,当你在编写一个Rest 服务时只能将时间都放在编码上,文档基本靠口口相传。
-
作为一个团队管理者 ,API文档优先非常重要,比如你需要去审批API的设计合理性,随时查看现存的接口文档,并且参与设计新的API。
-
多个团队间有大量的微服 务 ,每个微服务对外暴露rest API 都需要文档,没有一个统一的管理系统查看这些服务的API描述文档。这让沟通效率变得低下。
如果一开始就把大量时间放在这种文档编写上,显然效率是低下的。如果你使用的是gRPC,那么管理API会方便些,但是依然缺少一个中心的管理处能够随时看到不同服务的API。
使用Service Center作为注册中心
使用Service Center除了可以 管理异构的注册中心 ,他还拥有管理服务API文档的能力,支持通过API自己上传。
而使用go chassis开发微服务,用户则无需关心这个过程,你只需要编写rest服务,go chassis会在启动时自动生成API文档并上传到服务中心,这样登录到系统的人就可以看到每个服务的API文档,一目了然。
如何生成API文档
文档是在编写完API接口并运行服务后自动生成的
-
可参考此文档安装go chassis
https://go-chassis.readthedocs.io/en/latest/getstarted/install.html
-
我们现在使用go chassis,开编写一个服务,完整例子。
首先编写API,定义好API已经对应的方法
type RestFulHello struct {}
func (r *RestFulHello) Sayhello(b *restful.Context) {
b.Write([]byte("get user id: " + b.ReadPathParameter("userid")))
}func (s *RestFulHello) URLPatterns() []restful.Route {
return []restful.RouteSpec{
{http.MethodGet, "/sayhello/{userid}", "Sayhello"},
}
}
将此结构体注册到go chassis
chassis.RegisterSchema("rest", &RestFulHello{})
编写最基本的配置信息,包括监听端口和service center地址
cse:
service:
registry:
address: http://127.0.0.1:30100
protocols: # what kind of server you want to launch
rest: #launch a http server
listenAddress: 127.0.0.1:5001
为服务取名字
service_description: name: RESTServer # name your provider
最后在main函数中启动服务
func main() {
//start all server you register in server/schemas.
if err := chassis.Init(); err != nil {
lager.Logger.Error("Init failed.", err)
return
}
chassis.Run()
}
最后
go build main.go ./main
查看文档
本地
文档会生成在运行目录下的 conf/RESTServer/schema/RESTServer.yaml
将内容复制到 http://editor.swagger.io/ ,就可以看到文档了
Service center
可以在service center UI中下载该文档
访问127.0.0.1:30103,点击services,并点击对应的微服务
最后点击schema tab就可以下载API文档说明
打开下载的文档,就能看到这个服务的API描述了
有了这种透明的文档生成机制,go chassis加强了开发的效率,并增强了文档管理。
点击“ 阅读原文 ”,直达go-chassis项目!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 深度学习成了前端开发神器:根据UI设计图自动生成代码
- Simulink自动生成代码
- changelog 日志自动生成插件
- APIAuto 2.0.0 发布,机器学习自动化测试、自动生成代码和注释、自动静态检查...
- 深度有趣 | 23 歌词古诗自动生成
- 测者的测试技术手册:自动的自动化EvoSuite 自动生成JUnit的测试用例
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机网络(第7版)
谢希仁 / 电子工业出版社 / 2017-1 / 45.00
本书自1989年首次出版以来,曾于1994年、1999年、2003年、2008年和2013年分别出了修订版。在2006年本书通过了教育部的评审,被纳入普通高等教育“十一五”国家级规划教材;2008年出版的第5版获得了教育部2009年精品教材称号。2013年出版的第6版是“十二五”普通高等教育本科国家级规划教材。 目前2017年发行的第7版又在第6版的基础上进行了一些修订。 全书分为9章,比较......一起来看看 《计算机网络(第7版)》 这本书的介绍吧!