Вот как может выглядеть запрос PUT с HttpClient и параметрами. Вам нужно будет преобразовать ваш XMLData
, что бы это ни было, в строку. Вопрос SO , предоставленный @Vikas в его комментарии, упоминает несколько библиотек, которые эффективны при разборе XML.
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
@Injectable()
export class AppService {
constructor(private http: HttpClient) { }
doPut() {
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'text/xml'
})
};
const xml: string = '<foo>1</foo>';
return this.http.put("/some/url", xml, httpOptions)
.subscribe(result => console.log(result));
}
}
Консолидированная версия, если вы предпочитаете:
doPut(xml: string) {
return this.http.put("/some/url", xml, { headers: new HttpHeaders({ 'Content-Type': 'text/xml' }) })
.subscribe(result => console.log(result));
}
HTTP-запрос НЕ будет выполнен, если вы не subscribe()
вернете Observable
, созданный put()
где-нибудь. Я бы дополнительно ознакомился с документацией по обработке ошибок и дополнительным опциям / функциям.
Надеюсь, это поможет!