加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

无法在GROOVY脚本中使用CURL进行REST PUT调用

发布时间:2020-12-14 16:26:31 所属栏目:大数据 来源:网络整理
导读:我试图使用CURL做一个简单的PUT请求.很简单,它在终端上但无法在我的Groovy脚本中运行. 这是它的片段: – class Test { //Throws 415 Cannot Consume Content Type void testPUT () { println "curl -i -X PUT -H "Content-Type: application/json" -d '{
我试图使用CURL做一个简单的PUT请求.很简单,它在终端上但无法在我的Groovy脚本中运行.

这是它的片段: –

class Test {
  //Throws 415 Cannot Consume Content Type    
  void testPUT () {
  println "curl -i -X PUT -H "Content-Type: application/json" -d '{"Key1":1,"Key2":"Value2"}' http://<hostname>/foo/".execute().text
 }

  // Works Perfectly Fine
  void testGET () {
  println "curl -i -X GET -H "Content-Type: application/json" http://<hostname>/foo".execute().text
 }
}

我还尝试使用三重引号括起命令,如: –

"""curl -i -X PUT -H "Content-Type:application/json" -d '{"Key1":1,"Key2":"Value2"}' http://<hostname>/foo""".execute().text

我所有的尝试只是给出了415内容类型无法消费

当我在终端窗口上使用curl命令时,PUT和GET方法都可以正常工作.

我错过了什么吗?任何帮助,将不胜感激!

谢谢!

解决方法

尝试使用字符串的列表变体,看看是否有效:

println ["curl","-i","-X PUT","-H 'Content-Type:application/json'","-d '{"Key1":1,"Key2":"Value2"}'","http://<hostname>/foo/"].execute().text

我遇到了类似的问题,这是我找到解决问题的唯一方法. Groovy会将字符串拆分为每个空格的参数,我怀疑这会使Curl和-H参数对绊倒.通过将字符串放入列表变体中,它将每个项目保持在一起作为参数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读