fegin client使用http url合约时报: [Request processing failed; nested exception is feign.FeignException: status 400 reading

首先看feign client代码:

  

@FeignClient(name = "SPRING-CLOUD-WEB-PROVIDER-GROUP2", url = "http://localhost:8761/")
public interface SongFeignClientWithUrl {
    /*@GetMapping("/call/{id}")
    public Object getSongInfo(@PathVariable("id") int id);*/

    @RequestMapping(value = "/eureka/apps/{serviceName}", method = RequestMethod.GET)
    public Object findServiceInfoFromEurekaByServiceName(@RequestParam(value = "serviceName") String serviceName);
}

上面实际是从eureka中查询service的节点服务信息

 

如下是controller代码:

  

@GetMapping("/{serviceName}")
    public Object findServiceInfoFromEurekaByServiceName(/*@PathVariable("serviceName")*/ String serviceName) { return songFeignClientWithUrl.findServiceInfoFromEurekaByServiceName(serviceName); }

 

问题就出在Controller入参String serviceName,注解被注释或者没有加@PathVariable注解,导致入参取不到值,feign client拿到的也是null,报的这个错。。。

 

当然,如果返回数据太大也会报400

posted @ 2018-04-19 18:14  dba_xyx  阅读(26675)  评论(0编辑  收藏  举报