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

Função Like da foto não está retornando o Json com o Liker

Boa tarde,

Estou utilizando o Jar baixado no meu localhost, estou chamando a API da seguinte forma:

like(evento) {
    evento.preventDefault();
    console.log(this.props.foto.id);
    console.log(localStorage.getItem('auth-token'));
    fetch(`http://localhost:8080/api/fotos/${this.props.foto.id}/like?X-AUTH-TOKEN=${localStorage.getItem('auth-token')}`, {method: 'POST'})
    .then(response => {
      if(response.ok) {
        console.log(response.json);
        return response.json;
      } else {
        throw new Error("Não foi possível realizar o like na foto");
      }
    })
    .then(liker => {
      console.log(liker);
    });

  }

Porém o meu liker está trazendo um Json vazio desta forma no console:

ƒ json() { [native code] }

Os parâmetros passados para a API estão setados corretamente:

this.props.foto.id = 3
localStorage.getItem('auth-token') = eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhbG90cyJ9.AQrl-JRJg39KeKYxMfNpnljXwxu0WOa8iYxT1Ih9Be-832MQBrJ5DxHwJzyQ-P-wp9lP49fSCmr_St-kl97nPw

Alguém sabe oque pode estar acontecendo?

3 respostas
solução!

Fala aí Giancarlo, tudo bem? Seu problema está na hora de converter a resposta para JSON, você não está chamando a função .json:

Seu código:

return response.json;

O correto seria:

return response.json();

Apenas um detalhe que passou batido.

Espero ter ajudado.

Muito obrigado pelo rápido retorno. Problema resolvido.

De nada Giancarlo, sempre que precisar não deixe de criar suas dúvidas.

Abraços