【问题标题】:params is empty when i call Post method on Grails当我在 Grails 上调用 Post 方法时,params 为空
【发布时间】:2013-05-10 03:06:20
【问题描述】:

我正在为我的应用程序编写 Web 服务。 我的问题是,当我使用 GET 方法调用它时,它可以工作,但是当我使用 POST 方法时,params 不包含我的参数:

当我使用 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 控制台插件

【问题讨论】:

  • UrlMapping 长什么样子?
  • 你能分享发帖的代码吗?
  • 我编辑了问题

标签: web-services grails


【解决方案1】:

params 不像GET 那样在POST 请求中不作为查询字符串发送。在POST请求的情况下,参数字符串必须嵌入到请求正文中。

使用content-type:application/x-www-form-urlencoded

并在request-body 中使用
username=azerty&test=test

你应该可以看到控制器内部params中的参数。

你应该可以看到
params : [age:25, name:Hamila, action:editProfile, controller:userWebService]

我让你在考试中看起来更年轻了吗? :)

【讨论】:

  • 谢谢@dmahapatro,它现在可以工作了:),不,你让我变老了:p 我 24 岁:p,再次感谢
猜你喜欢
  • 2017-01-19
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
  • 2017-09-21
  • 2021-12-17
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
相关资源
最近更新 更多