有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    这是因为您在GET请求中将CriteriaCustomPageable作为一个主体传递,服务器很乐意忽略它。在你的例子中,有两个实体,因此错误-Method has too many Body parameters

    因此,您可以将它们作为地图传递<;字符串,对象>RequestParams,或者你可以编写自己的编码器,可以为你所有的伪装做到这一点。 你可以找到代码here