您好,我需要在没有任何第三方插件的情况下调用REST服务作为buildscript (Gradle)的一部分,我如何使用Groovy来做到这一点?
(我的第一次尝试)
repositories {
mavenCentral()
}
dependencies {
complie "org.codehaus.groovy.modules.http-builder:http-builder:0.5.2"
}
task hello {
def http = new HTTPBuilder("http://myserver.com:8983/solr/select?q=*&wt=json")
http.auth.basic 'username', 'password'
http.request(GET, JSON ) { req ->
}
}
发布于 2014-06-05 19:46:01
从groovy调用REST而不使用外部库的最简单方法是执行CURL。下面是一个调用Artifactory、获取JSON并对其进行解析的示例:
import groovy.json.JsonSlurper
task hello {
def p = ['curl', '-u', '"admin:password"', "\"http://localhost:8081/api/storage/libs-release-local?list&deep=1\""].execute()
def json = new JsonSlurper().parseText(p.text)
}
发布于 2014-06-06 03:20:36
你就不能这样做吗
new URL( 'http://username:password@myserver.com:8983/solr/select?q=*&wt=json' ).text
发布于 2014-06-05 21:02:58
这就是上班族
import java.io.*
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.EncoderRegistry
import static groovyx.net.http.Method.*
import static groovyx.net.http.ContentType.*
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.5.2'
}
}
task hello {
def http = new groovyx.net.http.HTTPBuilder("http://local.com:8983/solr/update/json")
http.request(POST, JSON ) { req ->
req.body{
}
response.success = { resp, reader ->
println "$resp.statusLine Respond rec"
}
}
}
https://stackoverflow.com/questions/24058926
复制相似问题