我想设计一个Spring Boot REST API,使用GitLab的API从GitLab中提取特定的存储库分支。
要求我们一直在做一个大项目,这个项目的功能被分成了近15个微服务,我们为每个微服务都有一个GitLab存储库来远程组织代码。每个存储库都有许多分支,如
- 主分支
- dev分支
促使分支
当我们有一个产品发布时,我们通过登录到GitLab,从开发分支到产品分支提出合并请求。同样的做法,我们也会用在其他需要prod部署的微服务上。所以,在这里,我们认为不如登录到gitlab并每次从一个分支到另一个分支提出合并请求。我们想写一些Spring Boot服务,它消耗GitLab服务,比如提取特定的repo细节,比如分支和其他信息,然后从一个分支向另一个分支发起合并请求
所以这里我们主要寻找两个操作,一个是拉出存储库分支细节,一旦拉出分支,然后从一个分支到另一个分支提出合并请求。
- 拉存储库分支
- 创建分支合并请求
我们已经在客户端准备好了React UI,并使用上述操作查看REST服务。
由于我以前没有在这样的API实现上工作过,所以我对如何实现相同的功能很感兴趣。
您将需要从Spring -boot-start -web项目中了解Spring的RestTemplate的使用。您可以使用RestTemplate来调用GitLab api来执行您对每个存储库的操作。
现在,有很多关于这个主题的信息,一篇完整的文章将是巨大的,所以我的建议是阅读Spring关于构建REST api的指南。Baeldung还在https://www.baeldung.com/rest-template 上提供了关于rest模板的简单介绍。