在Angular 9中,当进行HTTP GET请求时,如果返回404错误,意味着请求的资源未找到。以下是一个解决这个问题的示例代码:
import { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';
import { throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
HttpClient
:constructor(private http: HttpClient) { }
http.get()
方法发起GET请求,并在请求的Observable
上使用catchError
操作符来处理错误:getData() {
const url = 'your_api_url';
return this.http.get(url)
.pipe(
catchError(this.handleError)
);
}
private handleError(error: HttpErrorResponse) {
if (error.status === 404) {
console.error('Resource not found');
} else {
console.error('An error occurred:', error.error.message);
}
return throwError('Something went wrong. Please try again later.');
}
在上面的示例中,我们使用catchError
操作符来捕获HTTP请求失败的错误,并根据错误的状态码进行相应的处理。如果状态码为404,我们将打印“Resource not found”的错误消息。否则,我们将打印错误的错误消息。最后,我们使用throwError
函数来抛出一个错误消息,以供调用方处理。
请确保将your_api_url
替换为你的API端点的实际URL。
通过以上代码示例,你可以在Angular 9中处理HTTP GET请求返回404错误的情况并进行相应的处理。