【问题标题】:Why Grails ignores the HTTP Accept header by default?为什么 Grails 默认会忽略 HTTP Accept 标头?
【发布时间】:2014-06-24 00:17:34
【问题描述】:

来自 Grails 文档 ..

Grails 会忽略 HTTP Accept 标头,除非您在 Config.groovy 文件中添加 grails.mime.use.accept.header = true 设置。换句话说,如果没有该设置, withFormat() 将完全不受 Accept 标头的影响

为什么会做出这样的选择​​?使用 Accept 标头是否有任何顾虑,这样 Grails 默认只解释格式参数??

REST架构中用格式参数或Accept header指定通信介质的优缺点是什么?

【问题讨论】:

    标签: rest grails groovy


    【解决方案1】:

    一些较旧的浏览器发送无效的接受标头或*/*,这无济于事,因此 Grails 可以默认使用 Accept 标头,否则在某些浏览器上,返回的是 XML 或 JSON,而不是浏览器内的 HTML。话虽如此,这种行为在最近的 Grails 版本中已经发生了变化。

    在最新版本的 Grails(自 2.3.0 起)中,ACCEPT 标头 默认启用,但对于某些 USER-AGENT 字符串(即浏览器)会被忽略

    https://github.com/grails/grails-core/blob/master/grails-resources/src/grails/grails-app/conf/Config.groovy#L17

    【讨论】:

      猜你喜欢
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 2012-08-21
      相关资源
      最近更新 更多