1、feign 版本 采用spring boot 1.5.3
1.1 get 请求 ,例如:
@FeignClient(value = "server1", url = "http://localhost:8090") public interface FeignClientTest { @GetMapping("test6") String test6(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date,@RequestParam("orderId") String orderId);
}
feign 处理get请求 时将参数值toString然后拼接到url后,请求前对url 参数采用 encode url 编码。@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")spring的注解无效。(参见feign-core中的RequestTemplate类)
feign 低版本中(低于springboot 2.0)中一般不使用spring的数据转换框架。
2、feign 版本 采用 spring boot 2.2.0
1.1 get 请求,如 1-1.1中
feign 处理get请求 时将采用springMvcContract对请求参数进行转换,因此@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date date会将Date格式化为给定格式的字符串。相关类(RequestTemplate,ReflectiveFeign,SpringMvcContract,GenericConversionService等)