【问题标题】:How do I access the body content of a POST in Grails?如何在 Grails 中访问 POST 的正文内容?
【发布时间】:2010-04-07 21:45:12
【问题描述】:

我正在尝试读取 Grails 请求的正文内容,它会将请求映射到参数,即使我已注释掉 grails.mime.types。我也尝试将 grails.mime.types 设置为空地图,它仍在映射。

正文内容是 xml,当 Grails 映射它时,键最终是“application/x-www-form-urlencoded。我无法控制他们更改它。

我正在运行 Grails 1.2.1。

我也尝试在我的 UrlMappings 中设置 format="xml" 并将表单内容类型添加到 xml mime.types 但这也没有帮助。当我尝试访问 request.reader 时,它是空的。

【问题讨论】:

    标签: grails


    【解决方案1】:

    如果您想直接访问 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/

    【讨论】:

      【解决方案2】:

      尝试在您的映射中启用“parseRequest”。

      来自docs:“Grails 不会为您提供自动 XML 或 JSON 封送处理,除非您在 URL 映射中指定 parseRequest 参数”。

      【讨论】:

      • 网页一定是变了。搜索“parseRequest”一无所获。
      • 给定 URL 指向的页面上没有“parseRequest”。
      猜你喜欢
      • 1970-01-01
      • 2018-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2015-03-20
      • 2019-09-26
      • 2011-10-31
      相关资源
      最近更新 更多