2013-03-17 26 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

我已經添加了這個配置,但我的接受頭仍然被忽略。有任何想法嗎? –