我第一次尝试gradle
。
我想在gradle脚本中调用一些REST API并验证我收到的一些响应。
当前系统配置包括在Java 1.7
上运行的Gradle 2.4
,Oracle Linux 6.5
我的REST API
:
API => POST localhost / Assign
JSON输入:
{"user":"dummyuser"}
JSON输出:
{
"jobMessageDetails": "dummyuser has been assigned to dummymachine",
"jobStatusDetails": "Success",
"jobType": "assign",
"machineName": "dummymachine",
"time": "2015/6/8 @ 14:47:42",
"userName": "dummyuser"
}
我可以使用其他计算机上的APIs
来测试我的POSTMAN
。我这样做:POST
hostname??:5500/Assign
JSON_INPUT
使用POSTMAN
。它们正常工作。
我想做什么:
API
脚本中调用此Gradle
。"jobStatusDetails"
&我收到的回复"machineName"
。PS:我是Gradle的新手,我很感谢完整的代码。
答案 0 :(得分:1)
您可以使用URLConnection
API。
发布方法示例:
task demo {
doLast {
def body = [user: "dummyUser"]
def req = new URL('https://hostname/Assign').openConnection()
req.setRequestMethod("POST")
req.setRequestProperty("Content-Type", "application/json; charset=UTF-8")
req.setDoOutput(true)
req.getOutputStream().write(JsonOutput.toJson(body).getBytes("UTF-8"))
logger.quiet "Status code: ${req.getResponseCode()}" // HTTP request done on first read
def resp = new JsonSlurper().parseText(req.getInputStream().getText())
logger.quiet "Response: ${resp}"
}
}
要进行解析,您可以使用JsonSlurper