springboot 项目使用 gitlab 的 API
springboot 项目使用 gitlab 的 API
- 前言
- 获取用户 access token
- Spring boot项目集成GitLab依赖
- 1 pom依赖
- 2 配置文件
- 3 启动类
- 4 核心代码
- gitlab 的 API 说明
前言
需求是通过gitlab的api获取其中的数据。
gitlab官方API文档:https://docs.gitlab.com/ee/api/users.html
gitlab的github地址:https://github.com/eutkin/gitlab4j-api/
获取用户 access token
首先我们需要获取gitlab的用户 access token, 并且在请求的时候附带这个token,gitlab才能认证我们的身份并返回数据。
1.登录 GitLab。
2.登录后,点击右上角的头像图标然后选择 Preferences。
3.在 access token 界面就可以新建token了。
当你是group的管理员之后,就可以通过该token获取users了。
Spring boot项目集成GitLab依赖
1 pom依赖
<dependency><groupId>org.gitlab4j</groupId><artifactId>gitlab4j-api</artifactId><version>5.3.0</version>
</dependency>
2 配置文件
server:port: 8899spring:# 配置数据源datasource:url: jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Drivertype: com.zaxxer.hikari.HikariDataSourcemvc:pathmatch:matching-strategy: ant_path_matchermybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 扫描通用枚举包type-enums-package: com.mry.code.count.enumsfiles:upload:path: C:/file/ # 文件存储位置code:count:gitlab:url: http://127.0.0.1:8181/authToken: xxxxxxxx
3 启动类
@MapperScan("com.mry.code.count.mapper")
@EnableTransactionManagement // 事务
@SpringBootApplication
public class SpringbootCodeCountServerApplication {public static void main(String[] args) {SpringApplication.run(SpringbootCodeCountServerApplication.class, args);}}
4 核心代码
@Service
@Slf4j
public class CodeCountService {@Value("${code.count.gitlab.url}")private String url;@Value("${code.count.gitlab.authToken}")private String authToken;/*** 多条件分页查询** @param current 当前页* @param size 页面显示的数据条数* @param project* @return*/public ResponseDTO list(Integer current, Integer size, Project project) throws Exception {GitLabApi gitLabAPI = new GitLabApi(url, authToken)