Я пытаюсь сохранить данные в базе данных с помощью HTTP POST, но он сохраняет только идентификатор моего JSON и игнорирует другие атрибуты.
My Component:
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { Item } from 'src/app/models/item';
import { InserirItensService } from 'src/app/services/inserir-itens.service';
@Component({
selector: 'app-inserir-itens',
templateUrl: './inserir-itens.component.html',
styleUrls: ['./inserir-itens.component.css']
})
export class InserirItensComponent implements OnInit {
constructor(
private formBuilder: FormBuilder,
private inserirItensService: InserirItensService,
) { }
myForm: FormGroup;
item: Item;
ngOnInit() {
this.myForm = this.formBuilder.group({
name: [null, Validators.required],
quantity: [null, Validators.required],
description: [null],
});
}
save() {
if (this.myForm.valid) {
this.item = this.myForm.value;
this.inserirItensService.insertItem(this.item).subscribe(res => console.log(res));
}
}
}
Моя служба:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class InserirItensService {
headers: HttpHeaders;
constructor(private http: HttpClient) {
this.headers = new HttpHeaders();
this.headers.append('Content-Type', 'application/json');
}
insertItem(item: Item): Observable<any> {
const itemJSON = JSON.stringify(item);
console.log(itemJSON);
return this.http.post('http://localhost:3000/itens', itemJSON, { headers: this.headers });
}
}
Консольный возврат:
{"name":"box","quantity":1,"description":"box desc."}
{id: 8}
Сгенерированный JSON: [{"id": 1}]
Это было ожидается сохранение имени, количества и описания, но отображается только идентификатор.