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

Salvar como inteiro no JSON Server

Bom dia, estou salvando dados em um arquivo json utilizando o JSON Server, porém ao enviar os dados tem um campo que quero que seja salvo no JSON com inteiro, e está indo tudo como string, mesmo o campo que o recebe sendo um do tipo number, poderia me ajudar em como fazer o cast de um campo específico do objeto dados.

    function onSubmit (dados) { 
        console.log("Dados:",dados);
        fetch('http://localhost:8080/videos', {
          method: 'post',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(dados)
        }).then(function(response) {
          return response.json();
        }).catch(error => console.error('Error:', error))
        .then(response => console.log('Success:', JSON.stringify(response)));
        console.log(dados)
      }

Abaixo como está sendo salvo no JSON Server

{
    "titulo": "UPGRADE 2",
    "description": "Devo fazer um UPGRADE ? - Pedalokos!",
    "url": "https://www.youtube.com/watch?v=S4asq3SicN0",
    "categoriaId": "6",
    "id": 59
  },

O campo categoriaId quero enviar o valor dele (6) para o servidor como um inteiro.

Grato.

2 respostas
solução!

Eai Matheus blz ?

Cara o que provavelmente tá acontecendo é que o objeto dados tá chegando nesse função já com categoriaId em string. Acho que tem duas alterativas simples pra arrumar isso:

  1. Você muda onde tá criando esse objeto, pra categoriaId ser um number. Tipo assim:

    const dados = {
     ...
    "categoriaId": Number(//valor da categoria),
     ...
    };
  2. Você muda no onSubmit usando spread pra converter só o categoriaId em number, Assim:

    function onSubmit (dados) { 
        fetch('http://localhost:8080/videos', {
         ...
          body: JSON.stringify({ ...dados, categoriaId: Number(dados.categoriaId) })
        })
         ...
      }

Espero ter ajudado :)

Muito obrigado, deu certo com

 body: JSON.stringify({ ...dados, categoriaId: Number(dados.categoriaId) })