Skip to content

Latest commit

 

History

History
238 lines (158 loc) · 9.01 KB

README-PTBR.md

File metadata and controls

238 lines (158 loc) · 9.01 KB

Blog API


Click here to view the english version.

💻 Projeto

O projeto consiste em uma API simples de autores e seus posts. É possível realizar ações como criações, listagem, edições e deleções de posts. Os posts podem ser marcados como publicados ou não.

🚀 Tecnologias

  • Node.js
  • Express
  • TypeScript
  • Prisma ORM

Endpoints

Listando usuários e posts

GET /users (retorna todos os usuários)
Parâmetros

Nenhum

Respostas
http code content-type response
200 application/json JSON contendo todos os usuários
Exemplo cURL
 curl -X GET -H "Content-Type: application/json" http://localhost:4000/posts
GET /posts (retorna todos os posts)
Parâmetros

Nenhum

Respostas
http code content-type response
200 application/json JSON contendo todos os posts do blog
Exemplo cURL
 curl -X GET -H "Content-Type: application/json" http://localhost:4000/posts
GET /post/{id} (retorna o post do ID específico)
Parâmetros
name type data type description
id required string O identificador único específico do post
Respostas
http code content-type response
200 application/json JSON contendo somente o post do ID específico
Exemplo cURL
 curl -X GET -H "Content-Type: application/json" http://localhost:4000/post/id

Criando um novo usuário ou post

POST /post (cria um novo post)
Parâmetros
name type data type description
title required string Título do post
body required string Conteúdo do post
author required int Identificador único do autor do post
Respostas
http code content-type response
201 text/plain;charset=UTF-8 Post created successfully
400 application/json {"code":"400","message":"Bad Request"}
405 text/html;charset=utf-8 None
Exemplo cURL
 curl -X POST -H "Content-Type: application/json" --data @post.json http://localhost:4000/posts
POST /users (cria um novo user)
Parâmetros
name type data type description
email required string E-mail do usuário
name required string Nome do usuário
age optional int Idade do usuário
Respostas
http code content-type response
201 text/plain;charset=UTF-8 User created successfully
400 application/json {"code":"400","message":"Bad Request"}
405 text/html;charset=utf-8 None
Exemplo cURL
 curl -X POST -H "Content-Type: application/json" --data @post.json http://localhost:4000/posts

Editando um post

PUT /post/{id} (edita um post)
Parâmetros
name type data type description
id required int Identificador único do post
Respostas
http code content-type response
200 text/plain;charset=UTF-8 Returns the post changed
400 application/json {"code":"400","message":"Bad Request"}
405 text/html;charset=utf-8 None
Exemplo cURL
 curl -X PUT -H "Content-Type: application/json" --data @put.json http://localhost:4000/post/id

Deletando um post

DELETE /post/{id} (deleta um post)
Parâmetros
name type data type description
id required int Identificador único do post
Respostas
http code content-type response
200 text/plain;charset=UTF-8 Returns a status true
400 application/json {"code":"400","message":"Bad Request"}
405 text/html;charset=utf-8 None
Exemplo cURL
 curl -X DELETE -H "Content-Type: application/json" http://localhost:4000/post/id

📄 Como utilizar

  • Faça um clone deste repositório:
  $ git clone https://github.com/luc-ribeiro/blog-api-node.git
  • Instale as dependências:
  # com npm
  $ npm install

  # com yarn
  $ yarn install
  • Crie um arquivo .env na raiz do projeto seguindo as variáveis definidas no arquivo .env.example

  • Execute o comando:

  # com npm
  $ npm start

  # com yarn
  $ yarn start
  • Acesse o projeto em localhost:[PORTA DEFINIDA NO ARQUIVO .ENV]