0

レストサーバーを作成しました。POST メソッドを使用して、次のデータを送信します。

{"class":"abc.User","email":"me@gmail.com"}

それが機能することを確認するために、curl を使用します。

curl --request POST --data '{"class":"abc.User","email":"me@gmail.com"}' --header "Content-Type: application/json" http://localhost:8081/abc/api/add

データを送信する残りのクライアントを作成すると、問題が発生します。rest-client-builder プラグインを使用しています。

クライアントの私のコードは次のとおりです。

def resp = rest.post("http://localhost:8082/abc/api/add"){

contentType "application/json"

json {
    class = "dsi.ewallet.prepaidserver.Kartu"
    email = "me@gmail.com"
}

}

エラーが発生しました:「予期しないトークン」 'class' を削除すると、問題が修正されます。しかし、残りのサーバーはクラス名を渡す必要があります。

とにかくそれを修正することはありますか?または、残りのサーバーにクラス名を渡す必要をなくすにはどうすればよいですか? ありがとう。

4

2 に答える 2

0

Class.class問題はクラスがorを使用できるようにJavaの予約語であるthis.getClass()ため、解析中に問題が発生しているため、この属性の名前を変更する必要があると思います。

Javaを使用していないため、curlで動作しています

于 2013-04-29T18:15:11.260 に答える
0

使うことにしますJSONBuilder()

def builder = new JSONBuilder()
String result = builder.build() {
    setProperty("abc", abcValue)
    setProperty("def", defValue)
}
return result

より複雑な構造を構築する必要がある場合は、属性のみを含む groovy クラスを作成します。次に、そのクラスにデータを入力し、 で使用しJSONBuilder()ます。

于 2013-05-21T05:45:11.970 に答える