我不明白这个代码有什么问题,你能帮我吗?
import { Injectable } from '@angular/core';
import {
HttpEvent, HttpInterceptor, HttpHandler, HttpRequest
} from '@angular/common/http';
import { Observable } from 'rxjs';
import { switchMap, map } from 'rxjs/operators';
import { AuthenticationSharedStorage } from '../storages/authentication.storage';
import { AuthenticationToken } from '../../models/authentication.model';
@Injectable()
export class AuthenticationInterceptor implements HttpInterceptor {
constructor(private storage: AuthenticationSharedStorage) {}
intercept(req: HttpRequest<any>, next: HttpHandler) {
this.storage.getData()
.pipe(
switchMap((data:AuthenticationToken )=> {
if(data){
const authToken = data.token;
const authReq = req.clone({ setHeaders: { Authorization: authToken } });
return next.handle(authReq);
}
return next.handle(req);
})
);
}
}
完整的错误是:
类型“AuthenticationInterceptor”中的属性“intercept”不能分配给基类型“HttpIntercepter”中的相同属性。类型“(请求:HttpRequest,下一个:HttpHandler)=
我有同样的错误,问题是由项目和npm包之间的rxjs版本差异引起的。
我通过在项目中安装相同版本的rxjs来解决这个问题。
您需要返回可观察量
intercept(req: HttpRequest<any>, next: HttpHandler) {
return this.storage.getData()
//...
}
我想使用以下代码实现文件下载: RestAPI: 服务: 组件: 当我启动angular时,我得到错误:src/app/panel/service/download中的错误。服务ts(17,91):错误TS2339:类型“Observable”上不存在属性“map”。 将导入代码的正确wya是什么?当我点击下载按钮时,什么也没发生。
问题内容: 我有带有不同(HTML和JSON)结果类型的Struts2操作。他们使用通用拦截器。 如果需要拦截请求,如何根据给定的操作结果类型返回结果? 例如,我转发到JSP页面。如果操作是JSON类型,我想转发JSON错误。 问题答案: 我有带有不同(HTML和JSON)结果类型的Struts2操作。他们使用通用拦截器。如果需要拦截请求,如何根据给定的动作结果类型返回结果? 例如,我的Actio
问题内容: 我们在Spring 3.0中将RestTemplate与xml配置一起使用,并且运行良好。 但是,当我们尝试迁移到Spring 3.1版本时,不建议使用CommonsClientHttpRequestFactory类,并且不再使用commons HttpClient。 我试图使用HttpComponentsClientHttpRequestFactory类和Apache HttpCli
问题内容: 我有一个REST API,它返回JSON响应为: 有时它返回: 我有一个像这样的POJO: 那么,有没有一种方法(不是写你自己的其他 自定义解串器 中)Jackson2,这将有助于我映射在JSON来时,它的A型和类型时,它是一个JSON对象? 或者换句话说,在Jackson中,有没有一种方法可以按变量而不是by 映射? 问题答案: 我可以建议您像这样使用JsonNode: 或像这样 :
我是个新手。目前我正在学习6个特征。当我试图处理错误时,会出现如下问题:, 未找到模块:错误:无法解析“D:\WORKSPACE\Angular5\binding\src\app”中的“rxjs/add/observable/throw” 找不到模块:错误:无法解决'D:\WORKSPACE\Angular5\绑定\src\app'中的'rxjs/add/操作员/捕获' src/app/emplo
假设我有两个不同的模型和表,分别名为和。 正如你所知laravel使用模型来管理身份验证。但是因为我有两个不同的模型,我想可以分别管理它们。 我使用laravel 5.4,我不知道如何能做到这一点。