requestForm = this.fb.group({
method: [null],
baseUrl: [null],
urlParams: new FormArray([
new FormGroup({
name: new FormControl(null),
value: new FormControl(null),
mark: new FormControl(null)
})
]),
headerParams: new FormArray([
new FormGroup({
name: new FormControl(null),
value: new FormControl(null)
})
]),
});
name
и value
и передать в HttpParams или site.com/test?name=value&name2=value22&login=admin
onSubmit() {
let urlParamsFromFB = [];
this.requestForm.value.urlParams.forEach(param => { // проходимся циклом по значениях формы
if (param.name && param.value) { // проверяем, что значения не квазиложные
urlParamsFromFB.push( {name: param.name, value: param.value} ); // выбираем только name и value
}
})
let urlParamsForHTTP = new HttpParams(); // создаем объект для query-параметров
urlParamsFromFB.forEach(param => {
urlParamsForHTTP = urlParamsForHTTP.set(param.name, param.value) // сэтаем сохранённые значения из формы
}) // в объект query-параметров.
// Сам объект query-параметров должен перезаписываться по значению
this.http.get('https://jsonplaceholder.typicode.com/users', {params: urlParamsForHTTP}) // делаем get-запрос, передав вторым аргументом
.subscribe(data => console.log(data)); // объект с полем params, равным объекту query-параметров.
}