Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Botão importar negociações não funciona

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')
        };
    }
}
2 respostas
solução!

OI, Antonio, tudo bem?

Compartilha aqui o teu webpack.config.js e o package.json para que possa ver como está a configuração do seu projeto.

OI Laís... Identifiquie que o problema era a falta de iniciar o servidor da Api. Num passo seguinte do curso.. reiniciei e funcionou.