Fegin调用时出现JSON parse error:can not deserialize instance of ...

2024-03-19 18:38

本文主要是介绍Fegin调用时出现JSON parse error:can not deserialize instance of ...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题

接口调用时提示json解析报错,如图
在这里插入图片描述

二、解决

通过排查发现Fegin调用时出现问题,Fegin调用的代码时这样写的:

employeeFeignClient.addRole(iamOrganizationId,employeeId,roleIds);

Fegin类是这样写的:

@PutMapping("/v1/{iam_organization_id}/organizations/employee/{employee_id}/role")
ResponseEntity<Integer> addRole(@PathVariable("iam_organization_id") Long iamOrganizationId,@PathVariable("employee_id") Long employeeId,@RequestBody List<Long> roleList) ;

json报错那可能在 @RequestBody这个参数这里出现问题,对比了调用服务的接口如下:

@Permission(level = ResourceLevel.ORGANIZATION)
@PutMapping("/{employee_id}/role")
@ApiOperation(value = "员工批量添加/修改角色")
public ResponseEntity<Integer> addRole(@PathVariable("iam_organization_id") Long iamOrganizationId,@PathVariable("employee_id") Long employeeId,@RequestBody List<Long> roleList) {return Optional.ofNullable(employeeService.addRole(iamOrganizationId, employeeId, roleList)).map(flag -> new ResponseEntity<>(flag, HttpStatus.OK)).orElseThrow(() -> new CommonException(ResponseCode.ERROR_ADD.getDesc()));
}

仔细检查后Fegin类是没问题的,问题出在在fegin调用的时候requestBody参数名字不一样。Fegin类的参数名为roleList,接口调用时候参数名为roleIds,导致报错。将方法里参数名改为跟Fegin类的参数名一样后解决了此问题。

三、结论

Fegin调用时出现JSON报错时,检查Fegin类里与接口调用里的@requestBody参数对应的名字是否一致。

这篇关于Fegin调用时出现JSON parse error:can not deserialize instance of ...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826917

相关文章

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install