这是我的问题..我有一种方法可以加密正文请求并提出请求。但是,为了加密数据,我使用了我公司的一种资源,并且该资源对数据进行了加密并返回了一个Observable ..让我显示代码..
public encryptBodyRequest<T>(obj: T): Observable<T> {
Object.keys(obj)
.forEach((property) => {
if (obj[property] instanceof Object) {
this.encryptBodyRequest(obj[property]);
} else {
this.resource.encrypt(obj[property])
.subscribe((encrypted) => obj[property] = encrypted);
}
});
return Observable.of(obj);
}
另一方面,我有一个使之成为可能的代码...
let req = {
name: '',
age: '30',
address: {
street: '3th avenue',
num: '120',
city: {
zipcode: '10',
name: 'city name',
province: 'province name'
}
}
};
return this.encryptBodyRequest(req)
.flatMap((_req) => this.method.post(url, _req));
当我的'req'参数传递到发出请求的方法时,他没有被加密..他像原始的let req
一样返回。
只能使用subscribe
方法在encryptBodyRequest
内部对其进行加密。
注意:此let req
仅是一个示例。