FeignClient中@SpringQueryMap与@QueryMap的区别及Pageable使用差异
FeignClient中@SpringQueryMap与@QueryMap的区别
两者都是Feign用于将对象参数转为URL查询参数的注解,核心差异体现在Spring生态兼容性上:
包路径与归属不同
@SpringQueryMap:属于Spring Cloud OpenFeign扩展,包路径为org.springframework.cloud.openfeign@QueryMap:属于原生Feign注解,包路径为feign
Spring生态对象适配差异
最典型的区别是对Spring Data的Pageable对象的支持:@SpringQueryMap可直接结合Pageable使用,能自动将Pageable中的分页参数(如page、size、sort)解析为URL查询参数@QueryMap无法直接适配Pageable,原生Feign无法识别Pageable的内部结构,无法完成正确的参数转换
示例代码
使用@SpringQueryMap结合Pageable的FeignClient方法:
@PostMapping("/user/getUserList") ResponseEntity<Page<UserDto>> getUserList(@RequestBody UserSearchDto searchInputDto, @SpringQueryMap Pageable page);
内容的提问来源于stack exchange,提问作者kernel
相关产品推荐
相关产品推荐

