我正在尝试阅读Grails请求的正文内容,并将请求映射到params,即使我已经注释掉了grails.mime.types。我也尝试过设置grails.mime.types并清空地图,它仍在映射。
正文内容为xml,当Grails映射时,密钥最终为“<?xml version”。不幸的是,发送POST的系统将内容类型设置为 application / x-www-form-urlencoded 。我无法控制他们改变它。
我正在运行Grails 1.2.1。
我也尝试在我的UrlMappings中设置format =“xml”并将表单内容类型添加到xml mime.types中,但这也没有帮助。当我尝试访问request.reader时,它是空的。
答案 0 :(得分:0)
尝试在映射中启用“parseRequest”。
来自docs:“除非您在URL映射中指定parseRequest参数,否则Grails不会为您提供自动XML或JSON封送处理。”
答案 1 :(得分:0)
如果您想直接访问request.reader而不是将XML解组为域对象,请尝试关闭parseRequest
,如下所示:
类UrlMappings {
static mappings = {
"/$controller/$action?/$id?"(parseRequest:false){
constraints {
// apply constraints here
}
}
"/"(view:"/index")
"500"(view:'/error')
}
}
我从http://margotskapacs.com/2013/04/request-automatic-parsing-in-grails/
获得了此解决方案