如何在@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)
希望对您有所帮助。
如果我有类似的东西
@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)
希望对您有所帮助。