我收到错误TypeError:undefined是不可迭代的(无法读取属性Symbol(Symbol.iterator))错误

时间:2019-08-19 16:48:04

标签: java angular spring-boot angular8

在运行应用程序时,我在前端使用了angular 8,在后端使用了java spring boot,但出现此错误。我是有角度的新手,我想错误是由于后端的响应主体引起的,但我无法解决。

我尝试了其他答案,但似乎无济于事。

auth.service.ts

// Method from server should return QueryResultsModel(items: any[], totalsCount: number)
    // items => filtered/sorted result
    findUsers(queryParams: QueryParamsModel): Observable<QueryResultsModel> {
        const httpHeaders = new HttpHeaders();
        httpHeaders.set('Content-Type', 'application/json');
        return this.http.post<QueryResultsModel>(API_USERS_URL + '/use' + '/findUsers', queryParams, { headers: httpHeaders});
    }

Web服务Java春季启动

// Get All User
@PostMapping(value = "/user/use/findUsers")
public ResponseEntity<List<User>> getAllUserFind() {
    try {
        return new ResponseEntity<>((List<User>)userService.getAllUser(), HttpStatus.OK);
    } catch (Exception e) {
        return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
    }
}

2 个答案:

答案 0 :(得分:0)

您需要通过以可观察的分辨率正常捕获错误来找出错误的确切原因。使用

return this.http.post<QueryResultsModel>(API_USERS_URL + '/use' + '/findUsers', queryParams, { headers: httpHeaders})
.pipe(catchError(error)=>{
    console.log(error);
    return of(null);
});

这将在控制台上打印出确切的错误。记住要导入Rx运算符。

import { of } from 'rxjs';
import { catchError } from 'rxjs/operators';

答案 1 :(得分:0)

Metronic主题?

这是一个了不起的模板。

QueryResultsModel是一个模型

// fields
items: any[]; <---- This is where you should iterate 
importedCount?: number;
activeCount?: number;
totalCount: number;
errorMessage: string;

祝你好运!