gpt4 book ai didi

spring-boot - 来自 Gradle 任务的 HTTP 发布 - Groovy

转载 作者:行者123 更新时间:2023-12-03 04:18:29 32 4
gpt4 key购买 nike

我正在制作 Http Post使用插件调用io.github.http-builder-ng.http-plugin .以下是我的build.gradle

plugins {
id "io.github.http-builder-ng.http-plugin" version "0.1.1"
}

import groovyx.net.http.HttpBuilder

task makeRESTCall () {
onlyIf {
!dependencyList.empty
}
doFirst {
println dependencyList
def http = HttpBuilder.configure {
request.uri = 'http://localhost:8080'
request.contentType = 'application/json'
request.uri.path = '/api/v1/fosscomponents/bulkvalidate'
}
http.post {
request.body=dependencyList
response.success {
println "Success"
}
}
}

}

这是我的 dependencyList request.body 中发送的参数
[

{
"groupId":"org.hibernate",
"artifactId":"hibernate-validator",
"version":"5.3.6.Final"
},
{
"groupId":"org.projectlombok",
"artifactId":"lombok",
"version":"1.16.22"
},
{
"groupId":"io.springfox",
"artifactId":"springfox-swagger-ui",
"version":"2.8.0"
}
]

我的后端 API 中的 java 代码(用 Spring Boot 编写)只是以这种格式打印
incomingLists.stream().forEach(
obj -> System.out.println(obj.getGroupId()+" **** "+obj.getArtifactId()+" **** "+obj.getVersion())
);

当我从 postman 那里点击这个 API 时,响应是正确的 - 请参阅下面的代码打印
org.hibernate **** hibernate-validator **** 5.3.6.Final
org.projectlombok **** lombok **** 1.16.22

而当我从我的 gradle 任务中点击相同的 API 时,我的 java 代码会以这种方式打印它。
null **** null **** null
null **** null **** null

我不确定是否缺少任何东西

最佳答案

我解决了这个! request.body如上所示只是发送dependencyList作为列表对象本身,而不是作为 String正如 API 所期望的那样。

所以我把它改成下面的方式,它按预期工作:)

http.post {
request.body=dependencyList.toString()
response.success {
println "Success"
}
}

关于spring-boot - 来自 Gradle 任务的 HTTP 发布 - Groovy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52520682/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com