1
resposta

[Dúvida] Como subir uma API para um servidor?

Boa noite, estou com uma dúvida em que criei um projeto em React e uma api imaginária para guardar as artes do projeto e também fazendo requisições como GET, POST e DELETE delas. Porém, ao dar deploy nesse projeto gostaria de saber aonde coloca-lo para que fique rodando e ainda sim funcionando as requisições, segue exemplo

useEffect(() => {
        fetch(`http://localhost:5000/${caminhoApi}`, {
            method: "GET",
            headers: {
                'Content-Type': 'application/json',
            },
        }).then((resposta) => resposta.json())
            .then((dados) => {
                setArtes(dados)
            }).catch((e) => console.log(e))
    }, [])

Utilizando isso, com essa API

{
  "animacao": [
    {
      "name": "Astronauto",
      "img": "https://www.youtube.com/embed/VXtnMM1AaDk?si=4Zpeg3Nfii9VXA5A",
      "id": 1
    }
  ],
  "quadrinhos": [
    {
      "name": "Okarun",
      "img": "https://static.wikia.nocookie.net/dandadan/images/e/e0/Okarun_Anime_Infobox_2.png/revision/latest?cb=20241004203343",
      "id": 2
    }
  ],
  "sketchbook": [],
  "ilustracoes": [
    {
      "name": "Shai Gilgeous",
      "img": "https://encrypted-tbn0.gstatic.com/licensed-image?q=tbn:ANd9GcQtkACkmsP4_heKwS4NtlzvF3-1rSW5bqbZott0w3eGVzogDDaHIweaZZDD_44qBjSbijTIigOgi1bQyUA",
      "id": 2
    },
    {
      "name": "Shai teste",
      "img": "https://cdn.nba.com/teams/uploads/sites/1610612760/2024/04/GettyImages-2147812576.jpg",
      "id": 3
    },
    {
      "img": "https://cdn.nba.com/teams/uploads/sites/1610612760/2024/04/GettyImages-2147812576.jpg",
      "name": "Teste",
      "id": 4
    }
  ],
  "print": []
}

Consigo colocar ela para funcionar abrindo uma outra porta no LocalHost.

1 resposta

Você está usando AJAX pra pegar conteúdos em outros sites. Provavelmente quando subir pro servidor, ele vai continuar funcionando.

Testa mudar o endereço pra o caminho direto do servidor. Lembra de usar caminhos relativos.

Uma boa maneira de testar isso é subir pro github, ou baixar um servidor virtual.