Click
here to view the english version.
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.
Node.js
Express
TypeScript
Prisma ORM
Listando usuários e posts
GET
/users
(retorna todos os usuários)
Nenhum
http code
content-type
response
200
application/json
JSON contendo todos os usuários
curl - X GET - H "Content-Type: application/json" http://localhost:4000/posts
GET
/posts
(retorna todos os posts)
Nenhum
http code
content-type
response
200
application/json
JSON contendo todos os posts do blog
curl - X GET - H "Content-Type: application/json" http://localhost:4000/posts
GET
/post/{id}
(retorna o post do ID específico)
name
type
data type
description
id
required
string
O identificador único específico do post
http code
content-type
response
200
application/json
JSON contendo somente o post do ID específico
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)
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
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
curl - X POST - H "Content-Type: application/json" -- data @post . json http ://localhost:4000/posts
POST
/users
(cria um novo user)
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
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
curl - X POST - H "Content-Type: application/json" -- data @post . json http ://localhost:4000/posts
PUT
/post/{id}
(edita um post)
name
type
data type
description
id
required
int
Identificador único do post
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
curl - X PUT - H "Content-Type: application/json" -- data @put . json http ://localhost:4000/post/id
DELETE
/post/{id}
(deleta um post)
name
type
data type
description
id
required
int
Identificador único do post
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
curl - X DELETE - H "Content-Type: application/json" http://localhost:4000/post/id
Faça um clone deste repositório:
$ git clone https://github.com/luc-ribeiro/blog-api-node.git
# com npm
$ npm install
# com yarn
$ yarn install
# com npm
$ npm start
# com yarn
$ yarn start
Acesse o projeto em localhost:[PORTA DEFINIDA NO ARQUIVO .ENV]