javafeign和参数
通常,带有分页的rest具有带有条件和分页的方法 我需要使用伪方法调用这些方法,但我有一个错误:
Method has too many Body parameters
我的方法调用是:
@RequestMapping(value = "/server/myRequest", method = RequestMethod.GET)
public ResponseEntity<String> getMyRequestByCriteriaClient(@RequestHeader("Authorization") String authHeader, CriteriaCustom criteria, Pageable pageable);
(CriteriaCustom是一个带有getter和setter的简单pojo)
在其他方面,我有:
@GetMapping("/myRequest")
public ResponseEntity<String> getMyRequestByCriteriaServer(CriteriaCustom criteria, Pageable pageable) {...}
如何编写客户端调用? 我尝试通过标准,并在地图中可分页<;字符串,对象>;和@RequestParam,但它们未到达服务器端
我简直不敢相信,使用Feign调用并向服务器传递条件和分页是不可能的。这是一个简单的得到
# 1 楼答案
这是因为您在GET请求中将
CriteriaCustom
和Pageable
作为一个主体传递,服务器很乐意忽略它。在你的例子中,有两个实体,因此错误-Method has too many Body parameters
因此,您可以将它们作为地图传递<;字符串,对象>
RequestParams
,或者你可以编写自己的编码器,可以为你所有的伪装做到这一点。 你可以找到代码here