首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails插件: invoke()无法在POST请求中发送JSON数据

Grails插件: invoke()无法在POST请求中发送JSON数据
EN

Stack Overflow用户
提问于 2012-11-11 21:57:04
回答 1查看 421关注 0票数 0

我正在评估Canoo Webtest作为Grails插件的自动化集成/功能测试。

我有一个REST应用程序,我正在尝试测试,但是Canoo Webtest 似乎没有在POST request中正确地发送JSON数据。我的测试代码如下所示

代码语言:javascript
复制
invoke( description:"Add a product to shopping cart", 
        url:'shoppingCart/add', method:'POST', 
        content:'{"class":"shop.service.Product", "name":"A product", "description":"Manufactured by X", "price":99.9}'
        //contentFile: '../product.json'
        )

无论我是使用方法还是内联数据作为内容属性,请求体都是空的。测试报告显示数据已正确发送,但错误页显示了一个错误,该错误声明“JSONException:缺失值。在字符0”。JSON数据作为GET请求的响应正在恢复正常。

我已经用curl测试了同样的功能,它运行得非常好。在Canoo Webtest设置中,有什么东西我遗漏了吗?

谢谢。

编辑:我正在使用Grails1.3.7,以防有任何不同

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-12 22:07:05

好的。我刚开始对invoke()进行实验,似乎将属性soapAction值设置为true就可以了。

我不知道这是怎么回事。属性的调用文件()表示

代码语言:javascript
复制
soapAction
  Required? no
  If the HTTP method is POST and is in fact a SOAP POST request, 
  this allows the SOAP Action header to be set. Ignored for GETs.

显然,它设置了一些所需的请求头。还没查过哪一个。

(谢谢各位阅读:)

还不能将这个答案标记为正确的答案,但在可能的情况下会这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13335876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档