gpt4 book ai didi

java - @RequestParam名称包含方括号[]

转载 作者:行者123 更新时间:2023-11-30 01:51:23 25 4
gpt4 key购买 nike

我正在编写一个假客户端来使用 PHP API 的端点。

我需要调用一个端点,如下所示:

www.myapp.com/number.php?number[]=1

我的 Feign 客户端如下所示:

@FeignClient(name = "testProxy", url = "${service.url}")
public interface NumberProxy {

@RequestMapping(value = INumber.URL, method = RequestMethod.GET)
public String getEvents(@RequestParam("numbers[]") Integer number);
}

问题是number[] .

如果我看到 feign 日志来检查 GET URL,这就是我看到的内容。

GET [https://www.myapp.com/number.php?number[]={number[]}][1] HTTP/1.1

number[]未替换为实际值,这就是 API 调用失败的原因。

有办法解决这个问题吗?

附注我知道 PHP API 不应该有这样的查询参数,但它就是这样,我无法更改它。

我也尝试过 List<Integer>对于number变量,但输出相同。

最佳答案

我们是在谈论org.springframework.web.bind.annotation.RequestParam吗?如果是的话,那不应该是方括号的问题。对我来说效果很好:

@RequestMapping(value = "/api/somepath", method = RequestMethod.POST)
public void uploadData(
@RequestPart("file") MultipartFile fileUpload, HttpServletRequest request,
HttpServletResponse response, @RequestParam(name = "param[]") Integer number) {
LOGGER.trace("paramValue=[{}]", number)
}

记录通过客户端传递的值

如果问题出在参数命名上怎么办?第一次出现时,您编写 numberS[],但进一步将其命名为 number[]

关于java - @RequestParam名称包含方括号[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55919264/

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