我正在为我的应用程序编写网络服务。
我的问题是,当我使用 GET 方法调用它时,它可以工作,但是当我使用 POST 方法时,params 不包含我的参数的 ant:
当我使用 GET 调用时,这是 params 的内容:
params : [username:azerty, test:test, param2:param2, action:editProfile, controller:userWebService]
当我使用 POST 调用时,这是 params 的内容:
params : [action:editProfile, controller:userWebService]
编辑 :
/* user controller */
"/service/$action?"(controller: "userWebService", parseRequest: true)
在 UserWebServiceController
....
static allowedMethods = [editProfile:['POST', 'GET']]
....
def editProfile(){
println "params : "+ params
....
}
测试我在 chrome 中使用 REST 控制台插件
最佳答案
params
在 POST
中不会作为查询字符串发送请求不同于 GET
.在 POST
的情况下,参数字符串必须嵌入到请求正文中要求。
使用 content-type
:application/x-www-form-urlencoded
并在 request-body
用username=azerty&test=test
您应该可以看到 params
中的参数 Controller 内部。
你应该能够看到params : [age:25, name:Hamila, action:editProfile, controller:userWebService]
我让你在考试中看起来更年轻了吗? :)
关于web-services - 当我在 Grails 上调用 Post 方法时,params 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16566818/