2

我正在从 Perl 调用用 java 编写的休息服务。

@POST
@Path("/updategrid")
private void updategrid(@FormParam Grid grid);

Class Column{
private String col;
private String val;
//constructors and setters
}

Class Grid{
private String name;
private List<Column> columns;
//constructors and setters
}

我正在尝试在 Perl 中传递 post call 参数

$httpClient->request(host/updateGrid, {grid=>{name=>'temp', columns=>[{col=>'A',val=>'B'}]}})

我收到错误,因为 Grid 没有带有单个字符串参数的构造函数。但是当我删除列参数时,一切都很好。那么传递给列表属性的正确方法是什么。

4

1 回答 1

0

我不确定@QueryForm注释,但它似乎尝试Grid使用您传递的 Json 字符串而不是使用此字符串进行序列化来初始化对象。将注释@RequestBody放在updateGrid方法上而不是@QueryForm注释上,它应该可以工作。

于 2013-06-29T22:38:01.550 回答