[英]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.