【问题标题】:bind JSON data to action arguments将 JSON 数据绑定到操作参数
【发布时间】:2015-03-30 22:33:50
【问题描述】:

我的 Grails 应用程序包含一个操作,该操作期望通过 HTTP POST 发送以下 JSON 数据

{email: 'foo@bar.com'}

目前我像这样检索电子邮件的值

def foo() {
    def json = request.JSON
    String email = json.email

    // remainder of action omitted          
}

如果数据是通过 URL 参数发送的,我可以按名称将其绑定到一个动作参数,如下所示:

def foo(String email) {

    // remainder of action omitted          
}

是否可以将请求正文中的 JSON 直接绑定到操作参数,或者此功能是否仅限于 URL 和表单参数?

【问题讨论】:

    标签: json grails data-binding


    【解决方案1】:

    很遗憾方法/动作参数的绑定仅限于post/query字符串参数,不支持通过JSON或者XML获取。

    下一个最佳解决方案是将请求与命令对象封装/绑定。

    (我在 Grails 2.4.2 中对此进行了测试)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      相关资源
      最近更新 更多