【问题标题】:Grails request.withFormat and dynamically scaffolded views not workingGrails request.withFormat 和动态脚手架视图不起作用
【发布时间】:2013-03-17 17:27:45
【问题描述】:

我有一个配置为动态构建所有视图的 Grails 应用程序。在我的控制器中,我想处理多种请求和响应内容类型——尤其是 html 和 json:

request.withFormat {
    html { 
        // do something 
    }
    json { 
        // do something else 
    }
}

查看 2.2.x 文档,我看到有 request.withFormat 可用于对请求 CONTENT_TYPE 做出反应。对于来自我的自定义客户端应用程序的 JSON 请求,这可以正常工作,但是在为来自动态脚手架视图的请求提供服务时,我的 request.withFormat 中定义的任何方法都不会匹配和执行。

为了让动态脚手架视图正确设置请求内容类型,我需要做些什么特别的事情吗?

【问题讨论】:

  • withFormat 基于请求的格式工作 - 即接受标头(如果您已打开它,格式=...查询参数等)。 request.withFormat 用于正文的 Content-Type

标签: grails


【解决方案1】:

启用以下内容:在 config.groovy

grails.mime.use.accept.header = true

见底部: http://grails.org/doc/latest/ref/Controllers/withFormat.html

【讨论】:

  • 呃,是的……来自 Grails 文档:Grails 会忽略 HTTP Accept 标头,除非您将 grails.mime.use.accept.header = true 设置添加到 Config.groovy 文件。换句话说,如果没有该设置, withFormat() 将完全不受 Accept 标头的影响。
  • 抱歉,我在查看帖子时点击错误。
  • 我已添加此配置,但我的接受标头仍被忽略。有什么想法吗?
  • request.WithFormat 与 Access 标头无关。仅与 WithFormat 相关的访问标头(位不是 request.WithFormat)
猜你喜欢
  • 2012-10-25
  • 2019-06-19
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
相关资源
最近更新 更多