我遇到了一個問題,我正在發送POST到Grails 1.3.7以及查詢字符串上的format=json
參數。Grails withFormat執行
基於Grails withFormat
文檔 - http://grails.org/doc/1.3.7/ref/Controllers/withFormat.html,這個參數應該會導致withFormat
閉包執行閉包內的json
。
即:
withFormat {
json {
// this logic should be executed if the query string has format=json
}
}
在這種情況下,控制器方法服務於多個內容類型。有一些邏輯應該只爲形式運行,所以加入一個withFormat
關閉,像這樣:
withFormat {
form {
// form specific logic
}
}
注意沒有json
塊,因爲沒有相應的邏輯來執行,如果這是一個JSON請求。問題是即使在我們發送查詢字符串上的format=json
的請求上,表單塊也正在執行。
爲什麼會發生這種情況?