首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用HttpInterceptor

如何启用HttpInterceptor
EN

Stack Overflow用户
提问于 2021-10-21 05:01:38
回答 2查看 57关注 0票数 0

我在后端SpringBoot中创建了httpInterceptor,并将我的API密钥保存在application.properties中。

我必须在Http头中的某个角度服务中启用HttpInterceptor,但我不知道如何才能做到这一点

EN

回答 2

Stack Overflow用户

发布于 2021-10-21 05:27:31

你是说怎么注册你的拦截器?您可以将其作为提供程序添加到模块中:

代码语言:javascript
复制
@NgModule({
  imports: [
    HttpClientModule
  ],
  providers: [  
    {provide: HTTP_INTERCEPTORS, useClass: BackendRequestInterceptor, multi: true},
票数 0
EN

Stack Overflow用户

发布于 2021-10-21 15:07:32

是!注册拦截器,就像Andreas在他的回答中发布的那样,然后实现它。下面是我的一个项目中的一个例子:

代码语言:javascript
复制
import { Injectable } from "@angular/core";
import { HttpInterceptor } from '@angular/common/http';
import { AuthDirectusService } from './auth-directus.service';

@Injectable()
export class TokenInterceptorService implements HttpInterceptor {

    constructor(private authService: AuthDirectusService) {}

    intercept(req, next) {
        if(this.authService.getToken() != null)
        {
            let tokenizedReq = req.clone({
                setHeaders: {
                      Authorization: `Bearer ${this.authService.getToken()}`
                }
            })
            return next.handle(tokenizedReq);
        }else{
            let tokenizedReq = req.clone({
            setHeaders: {
            }
        })
        return next.handle(tokenizedReq);
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69656112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档