为什么Grails默认忽略HTTP Accept标头?

时间:2014-06-24 00:17:34

标签: rest grails groovy

来自Grails文档..

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

为什么选择这个?是否有任何关于使用Accept标头的问题,这样Grails默认只解释格式参数??

在REST架构中使用format参数或Accept标头指定通信媒体的优缺点是什么?

1 个答案:

答案 0 :(得分:2)

某些较旧的浏览器会发送无效的接受标头或*/*,因此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