1
resposta

Serializador filtrarObjeto(dados) não está retornando o request de forma correta

Aula 5.6, acredito ter criado a função de acordo com o especificado, porém ao fazer um request, ele só me retorna id e empresa, não estou entendo o por quê dele não estar me retornado a categoria. Abaixo segue o código:

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 = {}

        this.camposPublicos.forEach((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

Bom dia Rafael, tudo certo?

As funções desse arquivo parecem ter sido implementadas corretamente.

Vimos que você concluiu o curso. Você conseguiu resolver esse problema? Creio que as alterações feitas até o término dessa aula tenham resolvido essa questão.

Mas caso esse problema ainda persista, poderia nos enviar um repositório no GitHub com o seu projeto? Seria mais fácil para descobrir qual pode ser a causa.

Estamos no aguardo. Bons estudos!