如何在@RequestParam 后端的服务调用中添加参数?

How to add parameters in service call for @RequestParam backend?

如果我有类似的东西

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

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

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

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

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

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

既然你说的data只是一个long类型,那么你上面的请求这里指的是一个PathVariable是与 RequestParam 略有不同。

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

解决方案

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

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

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

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

Angular/Javascript

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

Java

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

希望对您有所帮助。