我遇到問題。我正在寫一個寧靜的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)? –