当前位置: 首页 > article >正文

Feign接口请求返回异常 no suitable HttpMessageConvert found for response type

问题场景:

后端调用feign接口请求, 接口返回异常, no suitable HttpMessageConvert found for response type


问题描述

报错异常如下:

 //根据图片特征 去查询人员信息
  ResultVo<List> personVos =  ipbdFaceLibPersonApi.queryFacePersonByFeature(libPersonPageForm);

@FeignClient(name = "ipbd-business-manager-app", path = "/lib/facePerson", fallbackFactory = IpbdFaceLibPersonServiceFallback.class)
public interface IpbdFaceLibPersonApi {
    /**
     *
     * 根据特征 查询人像人员信息
     * @param param
     * @return
     */
    @ApiOperation(value = "根据特征 查询人像人员信息")
    @ResponseBody
    @RequestMapping("/queryFacePersonByFeature")
    ResultVo<List<IpbdFaceLibPersonVo>> queryFacePersonByFeature(@RequestBody @ApiParam(value = "param") IpbdFaceLibPersonPageForm param);
}

@Api(value = "人员表控制器", tags = {"人员表管理"})
@RestController
@RequestMapping("/lib/facePerson")
@Slf4j
public class IpbdFaceLibPersonController {

    /**
     * 根据特征 查询人像人员信息
     * @param param
     * @return
     */
    @ApiOperation(value = "根据特征 查询人像人员信息")
    @ResponseBody
    @RequestMapping("/queryFacePersonByFeature")
    public ResultVo<List<IpbdFaceLibPersonVo>> queryFacePersonByFeature(@RequestBody @ApiParam(value = "param") IpbdFaceLibPersonPageForm param){
        List<IpbdFaceLibPersonVo> resultList = ipbdFaceLibPersonService.queryFacePersonByFeature(param);
        return ResultUtils.success(resultList);
    }
}

上面代码是feign接口调用的封装,以及controller层的封装,可以看到接口返回的对象是ResultVo<List>,请求接收的对象也是一致的,但是无论怎么请求,接口都返回调用异常,无法convert转换


原因分析:

通过查看feign源码发现,所有feign接口请求后的结果都需要经过decode解析, 那么看下返回的对象是否有无法解析的字段。 整个对象类中, 只有时间字段是增加了JsonFormat转换的,尝试把时间字段去掉之后,发现不报错了, 那么问题就出现在时间字段json序列化后decode无法解析的问题了
在这里插入图片描述


解决方案:

这里JsonFormat是jackson库的而JsonField是fastjson的,这里我们换成@JSONField(format = “yyyy-MM-dd HH:mm:ss”)去格式化就正常返回了


http://www.kler.cn/a/146700.html

相关文章:

  • 时序数据库TDEngine
  • 23种设计模式-备忘录(Memento)设计模式
  • springBoot插件打包部署
  • 关于安卓模拟器或手机设置了BurpSuite代理和安装证书后仍然抓取不到APP数据包的解决办法
  • 学习threejs,通过SkinnedMesh来创建骨骼和蒙皮动画
  • 关于Qt C++中connect的几种写法
  • 卷积神经网络(CNN)车牌识别
  • csgo/steam搬砖项目新手教程
  • 6.12找树左下角的值(LC513-M)
  • TCP知识点
  • PT里如何针对某个模块设置false path
  • 【初始前后端交互+原生Ajax+Fetch+axios+同源策略+解决跨域】
  • OpenAI神秘项目Q-star曝光,人类永生或灭绝,将在我们有生之年发生
  • Python---练习:使用Python函数编写通讯录系统
  • Mindomo Desktop for Mac免费思维导图软件,助您高效整理思维
  • Linux系统---僵尸进程、孤儿进程
  • Linux网络——数据链路层
  • Node.js入门指南(四)
  • Open Feign 源码解析(一) --- FactoryBean的妙用
  • 《尚品甄选》:后台系统——结合redis实现用户登录
  • sqli-labs(4)
  • 【Docker】从零开始:12.容器数据卷
  • 入侵redis之准备---VMware上面安装部署centos7镜像系统【详细含云盘镜像】
  • Pinctrl子系统和GPIO子系统实验
  • ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小
  • 第二证券:煤炭板块震荡走高 潞安环能、晋控煤业涨超5%