微服务接口调用空指针问题分析

在处理动态筛选条件时遇到空指针问题,源于微服务接口调用的类型转换失败。日志显示HttpMessageNotWritableException,但接口本身无误。问题在于强转无泛型集合未生效,导致Collection<?>无法正确转换。虽然Postman测试接口正常,但在实际调用中因需要具体类型转换而报错。解决方案是将每个对象单独转换为Long类型,通过Number作为中间转化,最终解决了微服务接口的访问问题。
摘要由CSDN通过智能技术生成

今天有个动态筛选条件不能正常筛选,估计是没有拿到查询条件。因查询条件是由入参调微服务接口查询拿到的,故先看微服务的producer端日志,发现了个HttpMessageNotWritableException,类型转换失败。

先看日志:

 2021-11-29 15:13:39 [ERROR] userId:108340 c.l.c.b.c.LSControllerAdvice >> 程序产生未知异常:o(╥﹏╥)o 
  ==> 接口地址:/client/customer/regRelation/querySupervisedIds 
  ==> Referer: null
  ==> 请求参数:{"regulatorId":["104323"],"dataFlag":["0"]} 
 org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: (was java.lang.ClassCastException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.ClassCastException) (through reference chain: java.util.ArrayList[0])
     at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:354)
     at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:104)
     at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:277)
     at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
     at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)
     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:124)
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894)
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHand
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值