1
resposta

Independente dos campos que eu coloco, ele me fornece um retorno de um json vazio

const ValorNaoSuportado = require('./erros/ValorNaoSuportado')

class Serializador { 
    json(dados) {
        return JSON.stringify(dados)
    }

    serializar (dados){
        if (this.contentType === 'application/json')
            return this.json(
                this.filtrarObjeto(dados)
            )

        throw new ValorNaoSuportado(this.contentType)
    }

    filtrarObjeto (dados){ 
        const novoObjeto = {}
        console.log(this.camposPublicos)
        console.log(dados)

        this.camposPublicos.forEach((campo, index) => {
            console.log(dados.hasOwnProperty(campo))
            if (dados.hasOwnProperty(campo)) {
                novoObjeto[campo] = dados[campo]
            }
        })

        return novoObjeto
    }
}

class SerializadorFornecedor extends Serializador {
    constructor(contentType) {
        super()
        this.contentType = contentType
        this.camposPublicos = ['id', 'empresa', 'categoria']
    }
}

module.exports = {
    Serializador: Serializador,
    SerializadorFornecedor: SerializadorFornecedor,
    formatosAceitos: ['application/json', '*/*']
}
1 resposta

Opa, boa tarde xará, tudo certo?

Então, esse mesmo comportamento que você descreveu acontece aos 05:30 do vídeo, você seguiu todas as etapas que o instrutor fez?

Se sim e ainda está tendo esse problema precisaremos de algumas outras informações pra te ajudar: pra facilitar, teria como você subir seu projeto no GitHub para darmos uma olhada? Se precisar de ajuda tem esse artigo que te mostra como fazer isso.

Qualquer coisa estou no aguardo. Bons estudos!