最佳答案
我想使用 Jackson json 库来实现一个通用方法,如下所示:
public MyRequest<T> tester() {
TypeReference<MyWrapper<T>> typeRef = new TypeReference<MyWrapper<T>>();
MyWrapper<T> requestWrapper = (MyWrapper<T>) JsonConverter.fromJson(jsonRequest, typeRef);
return requestWrapper.getRequest();
}
public class MyWrapper<T> {
private MyRequest<T> request;
public MyRequest<T> getRequest() {
return request;
}
public void setRequest(MyRequest<T> request) {
this.request = request;
}
}
public class MyRequest<T> {
private List<T> myobjects;
public void setMyObjects(List<T> ets) {
this.myobjects = ets;
}
@NotNull
@JsonIgnore
public T getMyObject() {
return myobjects.get(0);
}
}
现在的问题是,当我调用 getMyObject ()时,它位于请求对象内部,Jackson 以 LinkedHashMap 的形式返回嵌套的自定义对象。有什么方法可以指定需要返回 T 对象吗?例如: 如果我发送类型为 Customer 的对象,那么 Customer 应该从该 List 返回?