Вот моя проблема ... У меня есть способ, которым я хочу зашифровать запрос тела и сделать свой запрос.Но для шифрования данных я использую ресурс моей компании, и этот ресурс зашифровывает данные и возвращает 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
является только примером.