2

.json ファイル拡張子 (例: http://localhost:8080/myapp/mycontroller/myaction.json ) を使用して、本体が空の GET リクエストを grails 1.3.7 コントローラーに送信すると、リクエスト解析例外が発生し、 grails は空のボディを JSON に解析しようとしているようです。同じリクエストを同じアクションに送信しても、拡張子 .json を付けない場合、エラーは発生しません。

このエラーを取り除くにはどうすればよいですか?

4

2 に答える 2

1

これに対する私の最善の方法は、URL マッピングに個別の句を用意し、GETtish リクエストに対してparseRequestが に設定されていることを確認することです。false

static mappings = {
  "/$controller/show/$id?"(parseRequest:false,action:'show'){
        constraints {
            // apply constraints here
        }
    }

  "/$controller/$action?/$id?"(parseRequest:true){
        constraints {
            // apply constraints here
        }
    }

(はい、これは 2.0.0 RC1 でも発生します)

于 2011-11-11T13:15:53.807 に答える
0

コントローラーに次のようなアクションがありますか。

def myaction.json()

そうでない場合は、存在しないアクションにデータを送信しています。JSON を解析しようとしている場合は、grails.converters を使用します。

import grails.converters

def jsonData = JSON.parse(params)

また、このチュートが役立つかもしれません: http://www.ibm.com/developerworks/java/library/j-grails11188/index.html

于 2011-04-07T21:22:53.837 に答える