Groovy用函数处理application/json请求
时间: 2023-10-26 10:03:14 浏览: 164
在Groovy中处理application/json请求可以使用JsonSlurper类,该类可以将JSON字符串解析为Groovy的对象或映射。以下是一个简单的示例:
```groovy
import groovy.json.JsonSlurper
def json = '{"name":"John","age":30,"city":"New York"}'
def slurper = new JsonSlurper()
def result = slurper.parseText(json)
println "Name: ${result.name}"
println "Age: ${result.age}"
println "City: ${result.city}"
```
在上面的示例中,我们首先定义一个包含JSON字符串的变量。然后,我们创建一个JsonSlurper对象并使用parseText方法解析JSON字符串。最后,我们可以像访问Groovy对象的属性一样访问解析后的结果。
如果你想使用Groovy函数处理HTTP请求,可以使用HTTPBuilder库。该库提供了一个简单的API来发送HTTP请求和处理响应。以下是一个处理application/json请求的示例:
```groovy
@Grab('org.codehaus.groovy.modules.http-builder:http-builder:0.7.1')
import groovyx.net.http.HttpBuilder
import groovyx.net.http.ContentType
def http = new HttpBuilder('https://jsonplaceholder.typicode.com')
http.request(POST, ContentType.JSON) {
uri.path = '/posts'
body = [title: 'foo', body: 'bar', userId: 1]
response.success = { resp, json ->
println "Created post with ID: ${json.id}"
}
}
```
在上面的示例中,我们首先使用@Grab注解引入HTTPBuilder库。然后,我们创建一个HttpBuilder对象并使用request方法发送POST请求。我们设置uri.path和body属性来指定请求的URL和请求体。在response.success闭包中,我们处理成功响应并打印出新创建的post的ID。
阅读全文