Gitlab API更新存储库中的现有文件,在rest模板中给出400错误

时间:2018-10-30 17:23:16

标签: spring-boot resttemplate gitlab-api

我正在尝试使用gitlab v4 api编辑回购中的现有文件, 当我尝试使用邮递员休息客户端编辑文件时,文件执行无任何问题,返回200状态。 当我尝试使用SpringBoot RestTemplate进行相同操作时,总是会遇到400错误的请求错误。我完全不知道实际发生了什么。 休息网址:https://domainname/api/v4/projects/51/repository/files/src%2Fmain%2Fresources%2Fapplication.yml

使用LOG打印的请求对象是:

[branch=master, content=server:port: value, commit_message=port number updated, file_path=src%2Fmain%2Fresources%2Fapplication.yml]

resttemplate API调用

HttpEntity<?> entity = new HttpEntity<Object>(request, header);
    restTemplate.exchange(gitlabApiUrl, HttpMethod.PUT, entity, Object.class);

当我与邮递员尝试相同的请求正文时,我获得了200成功

这是剩下的终点https://domainname/api/v4/projects/:projectId/repository/files/:file_path

有人知道发生了什么吗?

参考文档:https://docs.gitlab.com/ee/api/repository_files.html#update-existing-file-in-repository

1 个答案:

答案 0 :(得分:1)

您可以尝试在gitlab中使用COMMIT功能的替代选项。

https://docs.gitlab.com/ee/api/commits.html#create-a-commit-with-multiple-files-and-actions