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

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

验证服务

// 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 Spring Boot

// 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);
    }
}

最佳答案

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

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';

10-05 20:24
查看更多