Feign调用,get请求,参数为对象, 解决请求对象以及参数值为null |
您所在的位置:网站首页 › 没核的桃子 › Feign调用,get请求,参数为对象, 解决请求对象以及参数值为null |
请求参数过多,所以包装成一个请求对象 服务端: @GetMapping(value = "/readInfos") public List readHotels(Search search){ return this.service.readInfos(search); }API @FeignClient(name = "server")//服务名 public interface Server { @GetMapping(value = "/XXX/XXX/XXXX/readHotels", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) public List readInfos(Search search); }
客户端 @Service public class ServiceImpl implements Service{ @Resource Server server; @Override public List readInfos(Search search){Double bd09Lon1 = hotelSearch.getBd09Lon1(); Double bd09Lat1 = hotelSearch.getBd09Lat1(); hotelSearch = getLimit(hotelSearch, bd09Lon1, bd09Lat1, distance); List list = server.readInfos(search); } }
运行报错 400:Request method 'POST' not supported
上网查了一下 说了一堆源码的东西,结果就是少了一个包, 在服务端添加包 io.github.openfeign feign-httpclient继续运行虽然没有报错但是数据没有收到 请求
在客户端断点
服务端断点
然后各种资料翻看,只是在服务端上面加个@RequestBody, 完美解决,虽然不知道会不会有bug 但是至少现在是解决的了 @GetMapping(value = "/readInfos", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) public List readInfos(@RequestBody Search search){ return this.service.readInfos(search); } 总得来说 就是添加一个包,一个注解
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |