Quando tento acessa a timeline pública, deslogado – ou seja http://localhost:8080/api/fotos?X-AUTH-TOKEN=null – recebo do servidor um erro 403:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Oct 23 13:07:39 BRST 2017
There was an unexpected error (type=Forbidden, status=403).
Access Denied
Como consequência, o código
componentDidMount() {
fetch(`http://localhost:8080/api/fotos?X-AUTH-TOKEN=${localStorage.getItem('auth-token')}`)
.then(response => response.json())
.then(fotos => this.setState({fotos : fotos}));
}
não tem uma resposta válida do servidor, que também quebra o render abaixo:
render() {
return (
<div className="fotos container">
{
this.state.fotos.map( foto => <FotoItem key={foto.id} foto={foto}/> )
}
</div>
);
}
Alguma sugestão de como resolver esse problema? Apenas para não quebrar, coloquei um teste de resposta como Array:
.then(fotos => {
if (Array.isArray(fotos)) {
this.setState({ fotos: fotos });
}
});
Obrigado.