gpt4 book ai didi

spring - Feign Client + Eureka POST 请求体

转载 作者:行者123 更新时间:2023-12-03 16:09:17 25 4
gpt4 key购买 nike

我正在尝试使用 Feign 和 Eureka 将发布请求从服务器 A 转发到服务器 B。两个服务器都被 Eureka 成功发现。

这有效:

@Feignclient
public interface MyFeignClient {
@RequestMapping(value = "test", = RequestMethod.POST, consumes = "application/json")
ResponseEntity<String> theActualMethod(
HttpServletRequest request,
@RequestHeader("firstHeader") String header1,
@RequestHeader("secondHeader") byte[] header2);
}

但是,当我将第二个参数更改为 @RequestBody 以读取 POST 请求内容时,出现异常:
java.lang.IllegalStateException: Method has too many Body parameters: public abstract org.springframework.http.ResponseEntity MyFeignClient.theActualMethod(javax.servlet.http.HttpServletRequest,java.lang.String,byte[])

最佳答案

问题是 Feign 接口(interface)中的方法不能有多个“通用”参数。您可以拥有任意数量的 header 参数,但不能超过主体。由于@RequestBody 不做任何事情,因此它不被视为 header ,而是除了 HttpServletRequest 请求变量之外的另一个变量。

所以我不得不将我的业务逻辑更改为只有一个参数。

关于spring - Feign Client + Eureka POST 请求体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35264620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com