在 Angular 中,当使用 HttpClient 发送请求时,如果请求参数包含字符串数组,会默认将数组元素用逗号拼接成一个字符串,导致 Spring Boot 无法正确解析参数。解决这个问题的方法是需要将字符串数组转换成字符串,然后在 Spring Boot 中进行解析。
下面是示例代码:
Angular 中发送请求:
const params = {
array: ['a', 'b', 'c']
};
this.http.get('/api/getData', { params: params})
.subscribe(response => console.log(response));
Spring Boot 中处理请求:
@GetMapping("/getData")
public ResponseEntity> getData(@RequestParam("array") String array) {
List arrayList = Arrays.asList(array.split(","));
// … 其他处理代码
}
在 Spring Boot 中,将字符串参数拆分成列表进行处理即可。