从 Grails 1.1.x 开始,它们支持 REST 请求的 XML 和 JSON 解组。我似乎无法在 2.1.0 版中使用它。以下是我用来测试功能的示例项目中的相关文件:
UrlMappings.groovy
static mappings = { "/$action/$id?"(controller:'verification',parseRequest:true) "/"(view:"/index") "500"(view:'/error') }
测试员.groovy
class Tester { String name String vendor String toString() { return "$name $vendor" } }
验证控制器.groovy
class VerificationController { def save() { Tester tester = new Tester(params.tester) log.error "Tester = ${tester}" log.error "Request XML = ${request.XML}" } }
使用 REST 调用发送 XML
<?xml version="1.0" encoding="utf-8"?> <tester> <name>Windows</name> <vendor>Microsoft</vendor> </tester>
当我传入 XML 时,控制器日志语句会输出以下内容:
Tester = null null
Request XML = WindowsMicrosoft
我的困惑是为什么它将它识别为 XML(通过将其放入请求的 XML 字段中)但不会解析它并将其放入此处定义的参数中