feign调用接口参数可以为null吗_Feign调用,get请求,参数为对象, 解决请求对象以及参数值为null...

请求参数过多,所以包装成一个请求对象

服务端:

@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);

}

总得来说 就是添加一个包,一个注解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值