Rxjs 在返回HttpResponse时映射HttpClient响应数据

Rxjs 在返回HttpResponse时映射HttpClient响应数据,rxjs,angular-httpclient,Rxjs,Angular Httpclient,在我的服务中,我总是像这样使用rxjs将JSON转换为实际的类类型 get(id:UUID):可观察{ 返回this.http.get(`${this.baseUrl}/${id}`) .烟斗( 映射(x=>OrderDTO.fromJson(x)) ); } 我现在有一个例子,我想这样做,但也得到了HTTP头。因此,我会将{observe:'response'}添加到get调用中,然后返回一个Observable…除非我不知道如何仍然在那里执行适当的映射。有人能帮我解释一下语法吗?我想你会从

在我的服务中,我总是像这样使用rxjs将JSON转换为实际的类类型

get(id:UUID):可观察{
返回this.http.get(`${this.baseUrl}/${id}`)
.烟斗(
映射(x=>OrderDTO.fromJson(x))
);
}

我现在有一个例子,我想这样做,但也得到了HTTP头。因此,我会将
{observe:'response'}
添加到
get
调用中,然后返回一个
Observable
…除非我不知道如何仍然在那里执行适当的
映射。有人能帮我解释一下语法吗?

我想你会从http调用中得到一个返回的HttpResponse对象,你可以映射你想要的HttpResponse属性和响应体,并返回一个数组

this.http.get<OrderDTO>(`${this.baseUrl}/${id}`)
        .pipe(
            map(resp => 
                [resp.headers,resp.body])
        ).subscribe(([header,body])=>....);
this.http.get(`${this.baseUrl}/${id}`)
.烟斗(
映射(resp=>
[resp.Header,resp.body])
).subscribe(([header,body])=>;