restTemplate远程调用接口,debug时数据已经都拿到了,可是死活就是在最后返回值的时候报can not cast to JSONObject


饺贼最开始执迷不悔,以为是postman里我的参数格式写错了,一直纠结到底要不要加[ ]。因为他当时报的还有一个syntax error,提醒我改数组符。在这浪费了好一段时间后,我去到封装的参数实体类里看了看JSON的转换格式,这里用的是parseObject

private void assignProperties(String key) {JSONObject src = JSON.parseObject(String.valueOf(this.get(key)));src.keySet().forEach((k) -> {if (null != k && !"".equals(k)) {this.params.put(k, src.get(k));switch (k) {case "pageNo":this.pageNo = (Integer) src.get(k);break;case "pageSize":this.pageSize = (Integer) src.get(k);break;case "sort":this.sort = (String) src.get(k);break;case "order":this.order = (String) src.get(k);break;default:}}});}

饺贼又研究了一下,以为是他的parse解析力度不够,于是给他加了parseObject后跟了一个JSONObject.class。再测,发现class加上之后,gateway(controller)方面没错,Api(实现代码)这里又出问题了。经过一大截漫无目的踩坑,我猛然发现,这里的JSON转换是转的parseArray、


我试探性的把他改为ParseObject,加上和API层相同的JSONObject.Class,奇迹的发现,居然调通了!

经过一番调试,我把原来多余加的class参数删掉,发现一样还是可以测通。

总结:
于是,经过大半天的踩臭臭,饺贼总结出了一个血淋淋的教训,一定要细心!!!
JSON转入和转出一定要用一样的parse格式,不然。。。

can not cast to JSONObject,HTTPClient项目间服务调用时踩的一个大坑相关推荐

  1. 微服务间的调用和应用内调用有啥区别

    摘要 目前大部分的系统架构都是微服务架构,就算没有注册中心.服务管理,也肯定是多个服务,单体服务比较少了. 大家平时需要在应用内调用rpc接口也比较多,那么有没有思考过微服务之间的调用和应用内直接调用 ...

  2. java 多个项目间事物_Java-web-多个独立项目之间相互调用实践

    本篇文章只涉及到应用层面,没有涉及到什么底层原理之类的,我目前的实力还没有达到那个级别.如果是大神级别的人看到这篇文章,请跳过. 项目框架也已经是搭建好了的,springboot版本为1.5,数据库操 ...

  3. vagrant搭建nginx、php环境,两个项目间使用curl请求问题

    vagrant搭建nginx.php环境,两个项目间使用curl请求问题 场景:vagrant搭建两个项目,A项目生成订单,B项目完成支付,再回到A项目返回支付成功信息. 问题:从A项目发送一条支付请 ...

  4. maven聚合项目项目间依赖时,出现错误的解决办法

    纯手打,转载请附上本文网址!!! 例如自己的项目taotao maven聚合项目项目间依赖时 打包时候要先在聚合工程里面(从外向里)整体install,再到子工程里install mvn clean ...

  5. .NET Core微服务之服务间的调用方式(REST and RPC)

    一.REST or RPC ? 1.1 REST & RPC 微服务之间的接口调用通常包含两个部分,序列化和通信协议.常见的序列化协议包括json.xml.hession.protobuf.t ...

  6. 大项目微服务架构设计

    根据目前产品存在的问题,针对快速开发.海量用户.大量数据.低延迟等互联网应用的实际需要,通过对业务架构.系统架构.基础架构.技术架构进行分析,采用先进实用的微服务SOA架构重构智慧校园.数字化校园等产 ...

  7. python不同目录调用_python3 不同目录间模块调用

    #Author by Andy #_*_ coding:utf-8 _*_ #__file__获取当前程序的相对路径 import os,sys #print(__file__) # os.path. ...

  8. HttpClient Get/Post方式调用Http接口

    HttpClient Get/Post方式调用Http接口 本节摘要:本节主要分别介绍如何用get方式.post方式向http接口发送数据. preparation 1. 项目环境如下: myecli ...

  9. git 创建webpack项目_从0到1开发一个小程序cli脚手架(一)创建页面/组件模版篇...

    github地址: https://github.com/jinxuanzheng01/xdk-cli cli工具是什么? 在正文之前先大致描述下什么是cli工具, cli工具英文名command-l ...

最新文章

  1. 注会用计算机,注会准备什么计算器?有型号要求吗?
  2. 【博客话题】我的2011项目总结
  3. 【提高系列】webpack相关知识
  4. 读《程序员必读的职业规划书》
  5. paramiko在windows上的安装和使用
  6. 计算平均指令时间_为什么向量化计算(vectorization)会这么快?
  7. 《千只鹤》:面对爱,我们永远还行走在成长的路上 ...
  8. 上一季诺基亚销售下跌28%
  9. Vue+elementUI+springboot+mybatis demo教程(二)
  10. O-RAN: Towards an Open and Smart RAN
  11. jar编译成exe可执行文件【图文教程】
  12. python SQLite 初识
  13. psim扰动观察法编程c语言,基于PSIM的新型扰动观察法的MPPT仿真研究
  14. 架构之:serverless架构
  15. 仿9GAG制作过程(二)
  16. 安装脚本实现百度云播放视频加速
  17. 机器学习评估指标 - f1, precision, recall, acc, MCC
  18. React制作简易小名片
  19. 修复iPhone白苹果
  20. 剑指offer——44.翻转单词顺序序列

热门文章

  1. Android面试知识点_
  2. 2020年Java面试复盘,收获Offer,金三银四程序员面试精装版pdf,分享给跳槽面试的程序员
  3. 应用软件的日志系统的设计要求
  4. How to install Windows device driver, Vista, Vista x64, WinXP, WinXP x64 Window
  5. Espcms,Espcms程序,Espcms插件
  6. Linux查看系统所有运行进程,如何在Linux系统列出systemd下所有正在运行的服务
  7. linux下动态壁纸(ubuntu20.04测试)
  8. opencv-StereoBM算法流程(二)
  9. 2021计算机维修工,2021年计算机维修工职业资格考试模拟要求.doc
  10. 自主云服务器处理器_鼎甲与飞腾FT2000+/64处理器完成兼容性互认证