feign.FeignException$BadRequest:status 400 reading TcpFeign#xxxx

feign调用出错都是这个报错,比较蛋疼

查看堆栈信息发现:

 

 

 

 

请求信息都拼接在url上了。当发送的信息多的时候就会报错。

解决办法。将信息放在body里面 

1.feign接口:

    @PostMapping("/send_devices_info")
    void sendDevicesInfo(@RequestBody String  data);

如果是类似下面这种数据大之后可能会报错,

@PostMapping("/post_data")
    void messageSend(@RequestParam Map<String,Object> map,@RequestParam int headCode);

 @PostMapping就不要用requestparam了

2.feign实现

@Override
    public void sendDevicesInfo( String data) {
        JSONObject jsonObject = JSON.parseObject(data);
//diamante代码 }

3.调用:

iMonitorFeign.sendDevicesInfo(JSON.toJSONString(result));

 

posted @ 2020-07-20 11:57  longtengdama  阅读(7404)  评论(0编辑  收藏  举报