首页 > 解决方案 > 如何在@RequestParam 后端的服务调用中添加参数?

问题描述

如果我有类似的东西

@GetMapping(value = "/list")
public ResponseEntity<MyDTO> findStatusPerEC(@RequestParam final List<Long> numbersEC) 

如何在前端的网址中添加 numbersEC?这是查询参数吗?

我知道这是一个没有查询参数的旧调用,数据只是一个数字(长)

return this.http.get<any>(URL_API + '/simulator/status/' + data);

但现在我必须发送一个长值列表......你能帮我吗?

标签: javaangularquery-parametershttp-parameters

解决方案


return this.http.get<any>(URL_API + '/simulator/status/' + data);

由于您提到data的只是一种long类型,因此您在发出上述请求时在这里指的是PathVariable它与RequestParam略有不同。

  • 路径变量的语法如下:/simulator/status/:statusID其中 statusID 是动态的,从 URI 中提取值。
  • 请求参数具有语法:?arg=val&arg2=val2etc... 并从请求查询字符串中提取值。

解决方案

要回答您的问题,将数组作为请求参数发送,您可以这样做:

?myparam=myValue1&myparam=myValue2&myparam=myValue3

如您所见,上面myparam是不变的,并且值是可变的,因此列表数据结构中的数据。

因此,当您提出请求时,它看起来类似于:

角/Javascript

return this.http.get<any>(URL_API + '/list' + '?myparam=myValue1&myparam=myValue2&myparam=myValue3');

爪哇

@GetMapping(value = "/list")
public ResponseEntity<MyDTO> findStatusPerEC(@RequestParam final List<Long> numbersEC) 

我希望这有帮助。


推荐阅读