我有个问题。我正在编写一个宁静的 API。可以在组中添加/删除项目。为此,我必须向特定 URL 发送 POST 请求。请求如下所示。这已经奏效了。但我有一个让我绝望的要求。应该可以在 JSON 请求中发送整数或整数列表。但参数名称应该相同。
{
"add": "10",
"remove": "100"
}
但是这个要求应该是可以的。
{
"add": [
10,
11,
12,
13
],
"remove": "100"
}
我尝试用不同的设置器解决我的问题,如下所示。
public class GroupDiff {
// TODO
private List<Integer> add = new ArrayList<Integer>();
private List<Integer> remove = new ArrayList<Integer>();
public List<Integer> getAdd() {
return add;
}
public void setAdd(List<Integer> add) {
this.add = add;
}
public void setAdd(int add) {
List<Integer> list = new ArrayList<Integer>();
list.add(add);
this.add = list;
}
public List<Integer> getRemove() {
return remove;
}
public void setRemove(List<Integer> remove) {
this.remove = remove;
}
public void setRemove(int remove) {
List<Integer> list = new ArrayList<Integer>();
list.add(remove);
this.remove = list;
}
但我总是收到以下异常:
引起:java.lang.IllegalArgumentException:属性“add”的设置器定义冲突:net.erouting.type.GroupDiff#setAdd(1 params) vs net.erouting.type.GroupDiff#setAdd(1 params)
我的问题是:我怎样才能解决我的问题,通过向我的服务器发出 JSON 请求,整数和整数列表都是可能的。
我们正在使用 Spring 和 Hibernate。
我希望你能帮助我。