zoukankan      html  css  js  c++  java
  • Cannot deserialize instance of `java.util.ArrayList<org.jeecg.modules.face.entity.FaceDevice>` out of START_OBJECT token

    远程调用出现json解析异常

    操作失败,Error while extracting response for type [java.util.List<org.jeecg.modules.face.entity.FaceDevice>] and content type [application/json];
     nested exception is org.springframework.http.converter.HttpMessageNotReadableException: 
     JSON parse error: Cannot deserialize instance of `java.util.ArrayList<org.jeecg.modules.face.entity.FaceDevice>` out of START_OBJECT token; 
     nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: 
     Cannot deserialize instance of `java.util.ArrayList<org.jeecg.modules.face.entity.FaceDevice>` 
     out of START_OBJECT token
     at [Source: (PushbackInputStream); line: 1, column: 1]

    架构:微服务

    过程:

    在Feign调用别的服务的API方法时,出现了该异常,代码如下

    List<FaceDevice> ytSCameras = faceAPI.getDevicesByIds(ids);

    为了排除是API方法报错,所以不通过feign调用,通过直接调用该API方法

     /***
         * 根据id集合查人脸设备face_device
         * @param ids
         * @return
         */
        @GetMapping("/face/api/getDevicesByIds")
        List<FaceDevice> getDevicesByIds(@RequestParam("ids") List<String> ids);

    测试通过,方法没有问题,那就说明是远程调用的问题

    json解析异常,这个方法没有json参数啊,难道远程调用是用json的格式传递的?在网上查了好多也没有解决方式。

    java.util.ArrayList<org.jeecg.modules.face.entity.FaceDevice>

    看到这一行,但API方法的返回值是List,于是我将API的返回值改为ArrayList

    果然,不再报异常

    
    
      /***
         * 根据id集合查人脸设备face_device
         * @param ids
         * @return
         */
        @GetMapping("/face/api/getDevicesByIds")
        ArrayList<FaceDevice> getDevicesByIds(@RequestParam("ids") List<String> ids);
    
    

    虽然小编蒙对了,但具体是什么原因,小编也想不明白,有哪位聪明的同学能想明白的话,在评论里告诉我哦!

     

     

  • 相关阅读:
    面向对象(五)-魔法方法
    面向对象(四)-实例,类,静态方法
    生成随机数
    vue中自己新建的组件怎么使用
    时间戳转时间
    js基础知识(一)--去除重复数据
    vue 实现底部导航栏
    dgl库:dgl._ffi.base.DGLError: [18:13:27] _func_ext.h:117: Check failed: ObjectTypeChecker<TObjectRef>::Check(sptr.get())
    DGL安装
    geopandas包安装
  • 原文地址:https://www.cnblogs.com/rachelgarden/p/14656583.html
Copyright © 2011-2022 走看看