我想实现HttpInterceptor来处理404错误。现在,我只想在到达HttpInterceptor时在控制台中记录一些内容。
我实现了一个基本的NoNothing HttpInterceptor,但是没有任何作用。
app.module.ts
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
char word[n][100];
int change[n][100];
char alphabet[]="abcdefghijklmnopqrstuvwxyz";
for(int i=0;i<n;i++){
scanf("%s",&word[i]);
}
for(int i=0;i<n;i++){
for(int j=0;j<100;j++){
change[i][j]=0;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<100;j++){
for(int k=0;k<=26;k++){
if(word[i][j]==alphabet[k]){
change[i][j]=k+1;
}
}
if(word[i][j]=='\0'){
for(int k=j+1;k<100;k++){
change[i][k]=0;
}
}
}
}
for(int i=0;i<n-1;i++){
for(int j=0;j<100;j++){
if(change[i][j]>change[i+1][j]){
int temp[100];
for(int k=0;k<100;k++){
temp[k]=change[i][k];
}
for(int k=0;k<100;k++){
change[i][k]=change[i+1][k];
}
for(int k=0;k<100;k++){
change[i+1][k]=temp[k];
}
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<100;j++){
for(int k=1;k<=27;k++){
if(change[i][j]==k){
word[i][j]=alphabet[k-1];
}
}
}
}
for(int i=0;i<n;i++){
printf("%s\n",word[i]);
}
return 0;
}
errorhandler.interceptor.ts
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
import { ErrorHandlerInterceptor } from './blocks/interceptor/errorhandler.interceptor';
@NgModule({
imports: [
...
HttpClientModule
declarations: [...],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: ErrorHandlerInterceptor,
multi: true
}
],
bootstrap: [MainComponent]
})
如果您想查看完整的代码,可以查看我的github
如果我理解正确,则每次到达拦截器时,控制台都应显示“ Hello”。但是,当我尝试访问不存在的URL时,控制台不会显示“ Hello”,只是我要处理的错误...
感谢您的帮助
答案 0 :(得分:0)
拦截器用于处理传出的请求。假设您使用HttpClient
发出了get
请求。然后它将通过拦截器。拦截器无法捕捉到导航到不存在的路线的信息。