O arquivo saude-id-routes-insomnia
presente no repositório, trata-se do arquivo JSON com as rotas para uso no Insomnia.
Basta alternar entre as variáveis para escolher local ou o deploy do Heroku.
Se deseja utilizar a API hospedada no Heroku, pode pular o trecho de configuração.
-Clone o projeto na sua máquina;
-Com o projeto clonado, realize a instalação das dependências.
-Nas variáveis ambientes há todas as configurações necessárias para executar a api de forma local.
-Se executar de forma local, é importante ter o MongoDB instalando para o funcionamento do banco de dados.
-A conexão com o MongoDB local já está estabelecida caso não utilize o deploy feito através do Heroku.
-Se preferir utilizar um cluster personalizado através do MongoDB Atlas, forneça a URL necessária no arquivo .env
.
-Caso deseje utilizar a API através do heroku basta acessar o seguinte endereço: https://posts-blog-api.herokuapp.com/
.
-Lembre-se de checar os scripts no package.json
caso execute um servidor local.
{
"name": "Rodrigo Carmo",
"email": "[email protected]",
"password": "12345678"
}
-Nesta rota você deve enviar a requisição do tipo POST para a rota:
http://localhost:3392/users/auth
ou https://posts-blog-api.herokuapp.com/users/auth
, feito isso, será retornado o token com algumas informações do usuário.
.
Segue o JSON como exemplo:
{
"email": "[email protected]",
"password": "12345678"
}
-Para atualizar o usuário, faça um requisição do tipo PUT para a rota: http://localhost:3392/users/:_id
ou https://posts-blog-api.herokuapp.com/users/:_id
, passando um JSON no corpo da requisição, como o seguinte exemplo:
{
"name": "Rodrigo",
"email": "[email protected]",
"password": "12345678"
}
-Para deletar o usuário, faça um requisição do tipo DELETE para a rota:
http://localhost:3392/users
ou https://posts-blog-api.herokuapp.com/users
,
passando um JSON no corpo da requisição, como o seguinte exemplo:
{
"_id": "619a5a5e8a8683a00a9c6db8"
}
-Para listar um usuário pelo ID acesse a rota com o método GET: http://localhost:3392/users/:_id
ou https://posts-blog-api.herokuapp.com/users/:_id
.
-Para listar por email acesse a rota com o método GET: http://localhost:3392/users
ou https://posts-blog-api.herokuapp.com/users
. Com o seguinte JSON como exemplo:
{
"email": "[email protected]"
}
-Listar todos os usuários com o método GET na seguinte rota: http://localhost:3392/users/all
ou https://posts-blog-api.herokuapp.com/users/all
.
Para criar postagens é necessário estar autenticado com um usuário válido.
-Crie uma postagem na seguinte rota do tipo POST: http://localhost:3392/posts
ou https://posts-blog-api.herokuapp.com/posts
. Exemplo em JSON:
{
"author": "619a5c26e252ca40d4ca85db",
"title": "Teste",
"description": "Is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book",
"categories": ["alimentos", "receitas", "cozinha"]
}
O campo "author" deve ser o ID de um usuário válido.
-Para deletar um post, faça um requisição do tipo DELETE para a rota:
http://localhost:3392/post
ou https://posts-blog-api.herokuapp.com/posts
,
enviando o ID da postagem em um JSON no corpo da requisição, como o seguinte exemplo:
{
"_id": "619a5a5e8a8683a00a9c6db8"
}
-Para atualizar o usuário, faça um requisição do tipo PUT para a rota: http://localhost:3392/posts/:_id
ou https://posts-blog-api.herokuapp.com/posts/:_id
, com o ID nos parâmetros de rota, passando um JSON no corpo da requisição, como o seguinte exemplo:
{
"title": "Lorem Ipsum",
"categories": ["Lorem"],
"description": "It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like)."
}
-Para listar um post pelo ID acesse a rota com o método GET: http://localhost:3392/posts/:_id
ou https://posts-blog-api.herokuapp.com/posts/:_id
.
-Listar todos os usuários com o método GET na seguinte rota: http://localhost:3392/posts/all
ou https://posts-blog-api.herokuapp.com/posts/all
.
As seguintes ferramentas foram usadas na construção do projeto: