错误表现

用postman发出请求,执行saveAll命令的时候发现错误,返回500。
但是很奇怪elsticsearch却能够存进去。版本的话springboot是2.6.4,2.7貌似也不行

问题分析

查看:官方资料
在这里插入图片描述
我们使用savaall会去继承ElasticsearchRepository类,并调用其中的函数。
然而,据图可知,在2022.8月依旧只支持7.17.4,而我的版本是8.2。这就出现问题了。

解决方法

  • 利用异常抛出,你原本报什么错误,你就去迎合那个错误,用try catch把这个响应视为成功。
    public int importAll() {
        List<Product> allProductList = productDao.getAllProductList(null);
        Iterable<Product> products = null ;

        try{
            products = productRepository.saveAll(allProductList);
        }catch (Exception exception){
            if(!(exception.getMessage()).contains("OK")){
                System.out.println("nonononon");
                throw exception;
            }
            System.out.println("200 ok");
        }
//        Iterator<Product> iterator = products.iterator();
//        int result = 0;
//        while (iterator.hasNext()) {
//            result++;
//            iterator.next();
//        }
        return allProductList.size();
    }
  • 自己写增删改查(大家可自行查找,这种资料还是很多的)
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐