请求参数过多,所以包装成一个请求对象
服务端:
@GetMapping(value = "/readInfos")public ListreadHotels(Search search){return this.service.readInfos(search);
}
API
@FeignClient(name = "server")//服务名
public interfaceServer {
@GetMapping(value= "/XXX/XXX/XXXX/readHotels", consumes =MediaType.APPLICATION_JSON_UTF8_VALUE)public ListreadInfos(Search search);
}
客户端
@Servicepublic class ServiceImpl implementsService{
@Resource
Server server;
@Overridepublic ListreadInfos(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 ListreadInfos(@RequestBody Search search){return this.service.readInfos(search);
}
总得来说 就是添加一个包,一个注解