我遇到问题。我正在写一个宁静的API。可以在组中添加/删除项目。为此,我必须将POST请求发送到特定的URL。请求如下所示。这已经工作了。但我有一个要求让我绝望。应该可以在JSON请求中发送整数或整数列表。但参数名称应该是相同的。接收整数或具有相同参数的整数列表
{
"add": "10",
"remove": "100"
}
但是这个要求应该是可以的。
{
"add": [
10,
11,
12,
13
],
"remove": "100"
}
我试过了,解决我的问题有不同的setter方法如下图所示。
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异常:二传手有冲突定义为属性的 “添加”:
所致net.erouting.type.GroupDiff#setAdd(1 PARAMS)VS net.erouting.type.GroupDiff#setAdd(1个PARAMS)
我的问题是: 我怎样才能解决我的问题,有可能这两个整数,发射了JSON整数列表请求我的服务器。
我们使用Spring和Hibernate。
我希望你能帮助我。
你尝试通过整型数组而不是List''的?我的意思是使用'add'和'remove'而不是'List ',而是'Integer [] add'和'Integer [] remove',并且在你的setters和getters中会做出同样的改变。 –
emka86
资源应该可以被访问没有运营商超载的方式。 – korefn
如果您删除了'add(int)'的setter,那么Spring将不会尝试将单个值转换为List中的一个项目并将其提供给另一个setter(List)? –