2013-03-17 25 views
3

我有一个Grails应用程序配置为动态脚手架所有视图。在我的控制器,我要处理多个请求和响应的内容类型 - 尤其是HTML和JSON:Grails request.withFormat和动态脚手架视图不起作用

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

望着2.2.x的文档,我看到有一个可用于对请求做出反应request.withFormat内容类型。对于来自我的自定义客户端应用程序的JSON请求,这没有问题,但在为动态脚手架视图提供服务请求时,我的request.withFormat中定义的方法都没有匹配并执行。

是否有什么特别的我需要做的动态脚手架视图设置正确的请求内容类型?

+1

在withFormat作品 - 即接受头(如果你已经打开它,格式=。 ..查询参数等)。 request.withFormat用于Body的内容类型 – stringy05

回答

0

Enabel然如下:Config.groovy中

grails.mime.use.accept.header = true 

见的底部:根据请求的格式 http://grails.org/doc/latest/ref/Controllers/withFormat.html

+0

恩,是的,它的确如此...来自Grails doc:Grails会忽略HTTP Accept头,除非您将Grails.mime.use.accept.header = true设置添加到您的配置文件中.groovy文件。换句话说,withFormat()将完全不受没有该设置的Accept头的影响。 –

+0

抱歉,我在审阅帖子时误点了。 – MZimmerman6

+1

我已经添加了这个配置,但我的接受头仍然被忽略。有任何想法吗? –