远程调用-OpenFeign bug
由于同事怎么都调用不了 远程的接口 报了一个这样的错误 No primary or single unique constructor found for interface java.util.List
我开始上手检查 发现
@PostMapping("newShopCar/selectByIds")
public ApiResult<List<ProductResponseNum>> selectByIds(@RequestParam List<Long> ids);
我把这个方法改为下面这个 在测试 发现OK 了
@PostMapping("newShopCar/selectByIds")
public ApiResult<List<ProductResponseNum>> selectByIds(@RequestParam ArrayList<Long> ids);
总结
这个错误消息的意思是:在尝试对接口 java.util.List
进行某些操作时,比如反序列化或者实例化,系统找不到一个主构造函数(primary constructor)或者一个唯一的、无歧义的构造函数。java.util.List
是一个接口,它不能直接被实例化。
在 Java 中,接口不能直接被实例化,你需要实例化一个实现了该接口的类。例如,ArrayList
和 LinkedList
都是实现了 List
接口的类,你可以实例化它们。如果你的代码中出现了这个错误,可能是因为你尝试直接实例化了 List
接口,或者在反序列化时没有提供足够的类型信息。
为了解决这个问题,你需要确定你正在使用的具体的 List
实现,并且在需要的地方使用这个实现,而不是 List
接口本身。
评论区