Olá, tudo bem?
Após assistir a aula tentei seguir os passos mas não para realizar uma requisição "get", como mostrado na aula, mas para um post. Entretanto, não estou conseguindo pegar o retorno JSON do back-end.
Vou apresentar o código para que vocês entendam o que estou fazendo.
app.component.ts
public cotacaoRetorno: CotacaoRetorno[];
private cotacaoService: CotacaoService;
constructor(cotacaoService: CotacaoService) {
this.cotacaoService = cotacaoService;
}
onSubmit() {
this.realizarCotacao();
}
realizarCotacao()
{
this.cotacaoService.novaCotacao()
.subscribe(cotacaoRetorno => this.cotacaoRetorno = cotacaoRetorno);
console.log(this.cotacaoRetorno);
//Obs.: No console o retorno de "this.cotacaoRetorno" mostra: "undefined"
}
cotacao.service.ts
@Injectable({ providedIn: 'root' })
export class CotacaoService {
constructor(private httpClient: HttpClient) {
this.http = httpClient;
}
protected get requestHeaders(): { headers: HttpHeaders | { [header: string]: string | string[]; } } {
const headers = new HttpHeaders({
'Content-Type': 'application/json'
});
return { headers };
}
private http: HttpClient;
private readonly _realizarCotacaoUrl: string = '/cotacao/realizar-cotacao';
novaCotacao() {
const cotacaorl = ConfiguracaoService.baseUrl() + this._realizarCotacaoUrl;
var novaCotacao = new Cotacao("nome", "teste", "", "", 10, 10, 10, 1, 1, "", new Date("2019-01-01"));
return this.http
.post<CotacaoRetorno[]>(cotacaorl, JSON.stringify(novaCotacao), this.requestHeaders);
}
}
Apenas ressaltando que o retorno mostrado no console é: "undefined".
Obs.: Todos os imports foram feitos corretamente.
Desde já, Obrigado!