クエリ文字列のパラメーターを使用してGrails 1.3.7にPOST を送信するという問題がありました。format=json
GrailswithFormat
のドキュメント - 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
問題は、クエリ文字列を送信したリクエストでもフォーム ブロックが実行されていたことです。
なぜこれが起こるのでしょうか?