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

无法在GROOVY脚本中使用CURL进行REST PUT调用,第1张

概述我试图使用CURL做一个简单的PUT请求.很简单,它在终端上但无法在我的Groovy脚本中运行. 这是它的片段: – class Test { //Throws 415 Cannot Consume Content Type void testPUT () { println "curl -i -X PUT -H \"Content-Type: application/json 我试图使用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参数对绊倒.通过将字符串放入列表变体中,它将每个项目保持在一起作为参数.

总结

以上是内存溢出为你收集整理的无法在GROOVY脚本中使用CURL进行REST PUT调用全部内容,希望文章能够帮你解决无法在GROOVY脚本中使用CURL进行REST PUT调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1228145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存