feign.FeignException$BadRequest: status 400 reading 诡异错误记录
创始人
2024-05-10 01:17:08
0

诡异事情描述:A客户端通过feign调用 服务端接口报错feign.FeignException$BadRequest: status 400 reading。B客户端通过feign调用服务端接口 又是正常的返回。 A和B 项目中导入的相关feign版本都一样。

代码调整前如下:

客户端代码:

@Data
public class ControlRequestDto implements Serializable {private static final long serialVersionUID = -5082851597684307746L;//设备点位名对应的水务集团的编码private String mappingId;//设备点位名private String tag;//控制命令下发时间private Date controlTime;//控制命令值private String controlValue;
}
/*** @author wangtingsong* @date 2022/5/9 16:15* @description 这里的注解FeignClient中的name属性值必须是 你调用的接口模块的spring.application.name 的值*/
@FeignClient(name = "controlcenter")
public interface ControlCenterClient {@PostMapping("/controlcenter/control/controlDevice")String controlDevice(@RequestBody ControlRequestDto controlRequestDto);}

服务端代码:

@RestController
@RequestMapping("/control")
@Slf4j
public class ControlCenterController {@Autowiredprivate ControlCenterService controlCenterService;@PostMapping("/controlDevice")public BaseResult controlDevice(@RequestBody ControlRequestDto dto){log.info("控制设备入参:{}", JSONObject.toJSONString(dto));try {return controlCenterService.controlDevice(dto);}catch (Exception e){log.error("控制设备异常:{}", dto.getTag(),e);return BaseResult.builder().message("控制设备异常").code("500").build();}}
}

问题查找:根据A和B断点来一步步看,最终是哪里调用不一样。发现一个是A调用的是RetryableFeignLoadBalancer中的execute方法 而B调用的是FeignLoadBalancer 中的execute方法。

最后发现参数中的时间controlTime字段在两个方法中显示有点不一样,然后就想到估计是两个类中对 参数的时间类型处理有点不同。(这里到底为什么同样的客户端调用 服务端代码 会走两个不同的LoadBalancer,还在继续研究中)。

解决办法:最终解决是给时间字段加上 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

//控制命令下发时间

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

private Date controlTime;

总结:这种400错误有时候需要注意字段的类型

相关内容

热门资讯

ennie meenie 是什... ennie meenie 是什么意思?请说详细点,网上说的太杂,不地道我只知道Eenie, meen...
饶雪漫的酸甜书面封底有一段话,... 饶雪漫的酸甜书面封底有一段话,请问是什么??饶雪漫的酸甜书面封底有一段话,请问是什么??我非常非常的...
有人叫全能直播是真的吗 有人叫全能直播是真的吗有人叫全能直播是真的,张大仙就是全能直播,王者当红主播,春季赛中,xyg的雹橡...
林毅夫委员:会开船的人,逆风也... 转自:北京日报客户端只要把国内的事做好,不管外部环境如何,我们总能乘风破浪前进。我相信,沿着我们的道...
在哪能知道少年JUMP是否要休... 在哪能知道少年JUMP是否要休刊(中文的网啊不懂日文的),就像刚刚过去的2周都是在休刊人家要过年的。...
喜欢上了隔壁班级的女生,我怎样... 喜欢上了隔壁班级的女生,我怎样才能让她注意到我呢?如果喜欢她罩拦的话,那么自己就应该主动一点,可以借...
动漫是叫什么阴阳师来着,男主是... 动漫是叫什么阴阳师来着,男主是个少年和一只猫妖除妖来着?少年阴阳师,那个是腾蛇红莲夏目友人帐。动漫:...
点击浏览过的文章标题变为蓝色,... 点击浏览过的文章标题变为蓝色,表明已浏览过.关闭浏览器再进入之后颜色变回原来状态.这个怎么实现目测自...
分析〈项羽本纪〉中项羽的形象特... 分析〈项羽本纪〉中项羽的形象特征急求答案,拜托各位了~~~~刚愎自用,优柔寡断,不能用人。
伤寒论。郝万山。刘渡舟。胡希恕... 伤寒论。郝万山。刘渡舟。胡希恕的有什么区别吗。那个讲的更好?胡希恕先生讲的最好,看过胡希恕先生讲的《...
老雪花多少度? 老雪花多少度?全天运转,1.1度电,实际用起来大概0.4度左右。全天运转,1.1度电,实际用起来大概...
这段时间感触最深的就是:初读不... 这段时间感触最深的就是:初读不知书中意,再读已是书中人,长大真的这么苦吗?少年不知愁滋味 成长哺育叶...
名人传的好词 名人传的好词好词:庸俗 裨益 晨光 凄凉 渺茫 隐忍 无可救药 衰退 云翳 崇山峻岭 落寞 巅峰 底...
陕西神木市一学校餐厅吃出异物?... 来源:神木市实验中学 神木市实验中学微信公号3月8日发布“关于网传我校餐厅不实消息的情况通报”,全文...
两会声音|吴相君代表:补齐农村... 转自:河北新闻网吴相君代表。 河北日报记者 赵海江摄河北日报讯(记者崔丛丛)政府工作报告提出,扩大普...
合肥最新公开招聘! 转自:合肥发布为深入贯彻党的二十大和二十届三中全会精神,积极促进高质量充分就业,着力为企业招人才、为...
外商投资中国区域样本观察:在上... 政府工作报告提出,加强外资企业服务保障,加快标志性项目落地,持续打造“投资中国”品牌。近期,乐高、丰...
开放透明,干货很多!人大代表团... 转自:上观新闻连日来,十四届全国人大三次会议代表团密集举行开放团组活动。截至发稿时,已有33个人大代...
林毅夫委员人民日报撰文:会开船... 北京大学新结构经济学研究院院长  林毅夫委员只要把国内的事做好,不管外部环境如何,我们总能乘风破浪前...
49岁的她,夺冠!本人发文回应 3月8日,即将年满50周岁的乌兹别克斯坦传奇运动员丘索维金娜在体操世界杯巴库站,凭借总分13.516...