Grails 中如何解析 request body 中的 json 内容?

使用 Command 对象

在 action 参数中使用 command 对象,grails 会自动将 request 中的 json 串绑定到 command 对象的属性上。
在此之后,不能再调用 request.JSON 来读取 request body 内容了,否则报错。

需要注意的是,出现下面情况,grails 将不会解析请求 body 中的 json 串:

  • The request method is GET
  • The request method is DELETE
  • The content length is 0

Controller 自己解析 request body

方法一,使用 request.JSON 来读取 body 并解析为 json 对象。

def json = request.JSON
String phone = request.JSON["phone"]

方法二,使用输入流

String bodyText = request.inputStream.text
String bodyText = request.inputStream.getText("UTF-8")

注意:Command 方法和 request 方法是互斥的,只能使用一种。

参考

参考 Grails Doc - theWebLayer 中的Binding The Request Body To Command Objects

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值