1
resposta

Web API não retorna /users nem /repos

Olá!

Estou seguindo todas as instruções do curso certinhas, mas toda vez que dou um expo start e coloco meu endereço de IP no json-server ele me retorna:

Resources
  http://192.168.0.141:3000/posts
  http://192.168.0.141:3000/comments
  http://192.168.0.141:3000/profile

Assim, não consigo fazer o GET de usuários, porque a rota /users retorna um 404. Como posso resolver isso para seguir o curso?

Obrigada!

print do terminal

1 resposta

Fala, Renata! Tudo certo ?

Bem chato esse problema que você está tendo, mas vamos tentar arrumar ele para que você possa continuar seus estudos.

O json-server ele vai ter o seguinte funcionamento, essas rotas que vão aparecer depois do seu ip vão ser criadas de acordo como o seu arquivo db.json está criado. Então, se tivermos a seguinte estrutura por exemplo:

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

Logo, podemos dizer que vamos ter três objetos principais que serão nossas rotas nesse caso, que serão as rotas posts, comments e profile. Logo serão as seguintes rotas:

 http://ip:3000/posts
 http://ip:3000/comments
 http://ip:3000/profile

Para que seja possível acessar as mesmas rotas que o instrutor acessar no curso, temos que fazer algumas alterações nesse arquivo para ele ficar no mesmo formato do que está sendo utilizado no curso, se você tentar fazer as requisições para as mesmas rotas que o instrutor sem alterar esse arquivo, o servidor não vai conseguir identificar onde está essas rotas. que O arquivo db.json vai ficar da seguinte forma então:

{
  "users": [
    {
      "login": "andreocunha",
      "id": 1,
      "avatar_url": "https://avatars.githubusercontent.com/u/54721131?v=4",
      "name": "André Oliveira Cunha",
      "email": "andre@email.com",
      "followers": 43,
      "following": 54
    },
    {
      "login": "nataliakt",
      "id": 2,
      "avatar_url": "https://avatars.githubusercontent.com/u/9091491?v=4",
      "name": "Natalia Kelim Thiel",
      "email": "natalia@email.com",
      "followers": 51,
      "following": 7
    }
 ],
  "repos": [
    {
      "name": "api-escolas ssss",
      "data": "1 de jan. de 2021",
      "postId": 1,
      "id": 2
    },
    {
      "name": "Arduino_AVES_Telemetria 33",
      "data": "1 de jan. de 2021",
      "postId": 1,
      "id": 3
    },
    {
      "name": "bot_piano_tiles sss",
      "data": "1 de jan. de 2021",
      "postId": 1,
      "id": 4
    },
    {
      "id": 1,
      "name": "2048evolution",
      "data": "1 de jan. de 2021",
      "postId": 2
    },
    {
      "id": 2,
      "name": "alura-pikachu",
      "data": "1 de jan. de 2021",
      "postId": 2
    },
    {
      "id": 3,
      "name": "alura-react-native-comecando-do-zero",
      "data": "1 de jan. de 2021",
      "postId": 2
    },
    {
      "id": 5,
      "name": "Alura_cursos",
      "data": "1 de jan. de 2021",
      "postId": 1
    }
  ]
}

Nesse caso vamos ter users e repos como rotas principais, então vão existir as rotas /repos e /users. Dá uma olhada se o arquivo está parecido com esse que acabei de mandar.

Eu espero que tenha ajudado e qualquer coisa eu estou aqui.

Abraço e bons estudos