[英]How to get different types of JSON objects form a single call in JAX-RS Jersey Restful web services
我想從一個服務調用中獲得三種不同類型的對象(對象列表)。 可以從不同的調用中獲取不同的對象。 一次通話就可以嗎?
如果您要返回的不同對象的數量限制為3,則可以創建一個結果對象,該對象具有要返回的三個不同對象的屬性
public class Result {
private ResultOne resultOne;
private ResultTwo resultTwo;
private ResultThree resultThree;
public ResultOne getResultOne() {
return resultOne;
}
public void setResultOne(ResultOne resultOne) {
this.resultOne = resultOne;
}
public ResultTwo getResultTwo() {
return resultTwo;
}
public void setResultTwo(ResultTwo resultTwo) {
this.resultTwo = resultTwo;
}
public ResultThree getResultThree() {
return resultThree;
}
public void setResultThree(ResultThree resultThree) {
this.resultThree = resultThree;
}
}
如果要返回對象的真實列表,請參閱rest是否支持對象的arraylist?
這可以通過兩種方式完成:方式1:為三種不同類型的對象創建所需的POJO類,您要返回此POJO類並將其作為Web服務調用的輸出返回。
方式二:創建一個HashMap對象,將鍵和對應的對象放入HashMap中並返回該HashMap對象。 例如
HashMap < String, List < String >> multipleObjectReturn = new HashMap < String, List < String >> ();
List < String > listObject1 = new ArrayList < String > ();
listObject1.add("List 1 Value2");
multipleObjectReturn.put("List Object 1", listObject1);
List < String > listObject2 = new ArrayList < String > ();
listObject1.add("List 2 Value1");
multipleObjectReturn.put("List Object 2", listObject2);
最后,
return multipleObjectReturn.
上面的代碼用於返回不同類型的列表對象。 如果要返回任何類型的對象,請在HashMap中使用對象類型代替List < String >
。
HashMap < String, Object > multipleObjectReturn = new HashMap < String, Object > ();
HashMap < String, String > mapObject1 = new HashMap < String, String > ();
mapObject1.put("Key1", "Value1");
multipleObjectReturn.put("ListObject1", listObject1);
multipleObjectReturn.put("ListObject2", listObject2);
multipleObjectReturn.put("MapObject1", mapObject1);
return multipleObjectReturn;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.