자바스크립트 - Gradle Script 타사 플러그인없이 REST 웹 서비스를 호출하려면 포인터가 필요합니까?




자바스크립트 rest api 호출 (3)

안녕하세요 제 3 자 플러그인없이 buildscript (Gradle)의 일부로 REST 서비스를 호출해야합니다. 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 ->
    }
}

나는 JsonSlurper 사용하고 JsonSlurper 이것은 매우 단순하고 OS 독립적 인 것처럼 보입니다.

import groovy.json.JsonSlurper

String url = "http://<SONAR_URL>/api/qualitygates/project_status?projectKey=first"
def json = new JsonSlurper().parseText(url.toURL().text)
print json['projectStatus']['status']

너 그냥 할 수 없어.

new URL( 'http://username:[email protected]:8983/solr/select?q=*&wt=json' ).text

이 사람들이 일하고있어.

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"

        }
    }
}






gradle