这是它的片段: –
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调用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)