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"
}

}

我收到错误:“unexpected token” 如果我删除 'class' ,它可以解决问题。但我的休息服务器需要传递类名。

有没有办法修复它?或者如何消除为休息服务器传递类名的需要?谢谢。

4

2 回答 2

0

我认为问题是 class 是 java 中的保留字,您可以使用Class.classor this.getClass(),因此在解析时出现问题,所以我认为您必须更改此属性的名称。

它正在使用 curl,因为它没有使用 java

于 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 回答