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

Link público do Heroku não funciona.

Olá.. estou tentando consumir o link público hospedado no Heroku, mas o mesmo não está disponível.

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Tue Dec 17 19:15:23 UTC 2019
There was an unexpected error (type=Not Found, status=404).
No message available
5 respostas

Ismael, boa tarde!

O link está funcionando, o que ocorre é que o caminho que você está tentando acessar não é valido.

Verifique se, você está colocando a url corretamente, com o método correto e se está passando as informações corretamente.

Espero ter ajudado e bons estudos!

Olá Felipe!!

Tentei utilizar o mesmo link já utilizado no treinamento, somente realizando as alterações conforme a vídeo aula.

O código é este:

  componentDidMount() {
    const uri = 'https://instalura-api.herokuapp.com/api/public/fotos';

    AsyncStorage.getItem('token')
      .then(token => {
        return {
          headers: {
            "X-AUTH-TOKEN": token
          }
        }
      })
      .then(requestInfo => fetch(uri, requestInfo))
      .then(resposta => resposta.json)
      .then(json => this.setState({fotos: json}))

    // fetch('https://instalura-api.herokuapp.com/api/public/fotos/rafael')
    // fetch(uri)
    //   .then(resposta => resposta.json())
    //   .then(json => this.setState({fotos: json}))
  }

Com isso, a tela fica branca e não retorna as postagens.

Tentei também

const uri = "https://instalura-api.herokuapp.com/api/fotos";

Porém a tela também fica branca e não me retorna nada.

Por favor, você teria o link?

Obrigado

solução!

Ismael, boa tarde!

Tente utilizar:

https://instalura-api.herokuapp.com/api/fotos?X-AUTH-TOKEN=

E no final do link acima adicionar o token

Sendo assim tornasse desnecessário o uso do headers.

Espero ter ajudado e bons estudos!

Olá Felipe!!

Obrigado pela resposta.

Fiz conforme a sua dica, mas agora a variável resposta está vindo como undefined.

Poderia me dar uma força?

Aqui está como ficou o código, conforme sua dica.

componentDidMount() {
    const uri = 'https://instalura-api.herokuapp.com/api/fotos?X-AUTH-TOKEN=';

    AsyncStorage.getItem('token')
      .then(token => {
        return token
      })
      .then(requestInfo => {
        fetch(`https://instalura-api.herokuapp.com/api/fotos?X-AUTH-TOKEN=${requestInfo}` )})
      .then(resposta => resposta.json)
      .then(json => this.setState({fotos: json}))
  }

Obrigado

Ismael, boa tarde!

Na linha

.then(resposta => resposta.json)

o json é uma função e tem que ficar assim

.then(resposta => resposta.json())

Espero ter ajudado e bons estudos!