在使用feign进行远程服务调用时,需要注意的点
1。 在接口上,方法的入参上已经标识了注解@RequestBody,在实现类Provider对应的方法入参类型上也依然需要加@RequestBody
例如:
实现类Provider:
yourMethod(@RequestBody BdgmActualRepayInfoDTO bdgmActualRepayInfoDTO) {
// dosomething
}
2。在接口上使用@RequestParam,需要指定其注解字段的名称:
如下:
yourMethod2(@RequestParam(“batchDate”) String batchDate);
或
yourMethod2(@RequestParam(name = “batchDate”) String batchDate);
3。接口的方法的入参使用@RequestParam时,且入参类型为Date或LocalDate,在Linux或容器环境下会报错,Windows下不报错。
例如:
yourMethod2(@RequestParam(name = “batchDate”) LocalDate batchDate);
解决方法:将入参类型LocalDate改为String,且约定格式为“yyyy-MM-dd”(国际标准日期格式,遵守ISO8601规范),然后在实现里,使用LocalDate.parse(batchDate)转成日期类型。