我需要在gradle任务中完成三件事:
1)通过get request
接收json2)解析它
3)将其保存在文件中
对于第一部分,我尝试使用此gradle plugin。我必须像下面这样放置标题,但它不起作用。我理解在插件的github自述文件中给出的示例中,标题没有引号,但没有它们,任务也不会执行正确。
task attack(type: org._10ne.gradle.rest.RestTask) {
httpMethod = 'get'
uri = 'https://www.kcell.kz/ru/roaming/countries'
contentType = groovyx.net.http.ContentType.JSON
requestHeaders = ["x-client-token": 'ios']
responseHandler = {
println "hello";
}
}
对于第二个,我将使用JsonSlurper。内部responseHandler我做new JsonSlurper().parseText(response.text))
不是,但我不知道我在哪里可以找到变量是什么"响应"如果该对象具有" text"。你能指点一下文件吗?我是gradle插件的新手
对于第三点,是否有插件或者可以通过直接在任务中编写groovy脚本来完成?
答案 0 :(得分:2)
不需要插件,Groovy拥有您所需要的一切。
([ \t])([A-Za-z]([A-Za-z]*[\.-])*[A-Za-z\.]*)([,:\s])
答案 1 :(得分:0)
鉴于以下变化:
go
ios
请求标头这是一种方法(responseHandler接收解析的JSON映射):
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org._10ne.gradle:rest-gradle-plugin:0.4.2"
}
}
apply plugin: "org.tenne.rest"
import org._10ne.gradle.rest.*
import groovy.json.*
task go(type: RestTask) {
httpMethod = 'get'
uri = "http://jsonplaceholder.typicode.com/posts/1"
contentType = groovyx.net.http.ContentType.JSON
responseHandler = { map ->
def jsonBuilder = new JsonBuilder(map)
new File("example.json").withWriter { writer ->
writer.write(jsonBuilder.toString())
}
}
}