所以我有一个MyCustomObject,格式如下:
public class MyCustomObject<T extends Comparable<T>> implements Comparable<MyCustomObject<T>> {
private String id;
private T value;
~~getters
~~setters
}
我有一个REST端点需要反序列化这个JSON对象并将其放回MyCustomObject中。我不关心T是什么类型,因为只要它实现了Comparable,我的其余代码就会处理它。这是我的控制器代码:
@PostMapping("/myEndpoint")
public <T extends Comparable<T>> ResponseEntity<Integer> balancingPost(@RequestBody MyCustomObject<T> mco) {...}
当我尝试使用通过正文传入的ControlPoint来命中此端点时,我的代码抛出异常:
MyCustomObject [ “值”]);嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:无法构造java.lang.Comparable的实例:抽象类型需要映射到具体类型,具有自定义反序列化器,或包含其他类型信息
那么有没有办法让我在没有指定T的具体类型的情况下离开?我希望尽可能保持我的代码通用。