Após os ajustes para uso do webpack , adicionamos a URL no começo das rotas de serviço http://localhost:3000, tanto no arquivo app.js como no arquivo NegociacoesService.js .
Quando clico no botão importar negociações gera o seguinte erro no console log:
bundle.js:9711 POST http://localhost:3000/negociacoes net::ERR_CONNECTION_REFUSED
Já revi os tópicos e não identifiquei onde errei!E também abri o tópico no final do módulo, pois fala que será revisto o parâmetro da URL mais adiante mas não localizei.
app.js
import { NegociacaoController } from './controllers/NegociacaoController.js';
import { Negociacao } from './domain/index.js';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap/dist/css/bootstrap-theme.css';
import 'bootstrap/js/modal.js';
import '../css/meucss.css';
$('h1').click(() => alert('Clicando no Cabeçalho'));
console.log($('h1').modal);
const controller = new NegociacaoController();
const negociacao = new Negociacao(new Date(), 1, 200);
const headers = new Headers();
headers.set('Content-Type', 'application/json');
const body = JSON.stringify(negociacao);
const method = 'POST';
const config = {
method,
headers,
body
};
fetch('http://localhost:3000/negociacoes', config)
.then(() => console.log('Dado enviado com sucesso'));
e o NegociacaoService
import { HttpService } from '../../util/HttpService.js';
import { Negociacao } from './Negociacao.js';
import { ApplicationException } from '../../util/ApplicationException.js';
export class NegociacaoService {
constructor() {
this._http = new HttpService();
}
obtemNegociacoesDaSemana() {
return this._http
.get('http://localhost:3000/negociacoes/semana')
.then(
dados =>
dados.map(objeto =>
new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor))
,
err => {
throw new ApplicationException('Não foi possível obter as negociações da semana');
}
);
}
obtemNegociacoesDaSemanaAnterior() {
return this._http
.get('http://localhost:3000/negociacoes/anterior')
.then(
dados => dados.map(objeto =>
new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor))
,
err => {
throw new ApplicationException('Não foi possível obter as negociações da semana anterior');
}
);
}
obtemNegociacoesDaSemanaRetrasada() {
return this._http
.get('http://localhost:3000/negociacoes/retrasada')
.then(
dados => dados.map(objeto =>
new Negociacao(new Date(objeto.data), objeto.quantidade, objeto.valor))
,
err => {
throw new ApplicationException('Não foi possível obter as negociações da semana retrasada');
}
);
}
async obtemNegociacoesDoPeriodo() {
try {
let periodo = await Promise.all([
this.obtemNegociacoesDaSemana(),
this.obtemNegociacoesDaSemanaAnterior(),
this.obtemNegociacoesDaSemanaRetrasada()
]);
return periodo
.reduce((novoArray, item) => novoArray.concat(item), [])
.sort((a, b) => b.data.getTime() - a.data.getTime());
} catch (err) {
console.log(err);
throw new ApplicationException('Não foi possível obter as negociações do período')
};
}
}