Skip to main content
 首页 » 编程设计

rest之如何通过 Groovy 使用 JSON 执行 POST 请求

2024年04月18日56artech

我有一个 REST API,它需要数据。我们使用以下curl命令来发送数据和 header 信息:

curl -X "POST" "https://xxx.xxx.xxx/xapplication/xwebhook/xxxx-xxxx" -d "Hello, This is data" 

等效的 Groovy 脚本是什么?

请您参考如下方法:

尽管对于简单的GET,您可以使用普通的 Groovy:

'https://xxx.xxx.xxx/xapplication/xwebhook/xxxx-xxxx'.toURL().text 

然而,这并没有给你太多的灵 active (不同的http动词,内容类型协商......等)。相反,我会使用 HttpBuilder-NG这是一个非常完整的库,它是根据 Groovy 语法构建的。

关于一个有效的 JSON 示例,以下内容在 POST 请求中发送 JSON 正文并解析回响应,该响应将作为可遍历的映射提供:

@Grab('io.github.http-builder-ng:http-builder-ng-okhttp:0.14.2') 
import static groovy.json.JsonOutput.toJson 
import static groovyx.net.http.HttpBuilder.configure 
 
def posts = configure { 
    request.uri = 'https://jsonplaceholder.typicode.com' 
    request.uri.path = '/posts'  
    request.contentType = 'application/json' 
    request.body = toJson(title: 'food', body: 'bar', userId: 1) 
}.post() 
 
assert posts.title == 'foo'