De acordo com Roy Fielding, um dos idealizadores do modelo arquitetural REST, para que uma API seja considerada RESTful, esta deve obrigatoriamente seguir todas as constraints pré-definidas. Porém, existem casos que precisaremos seguir uma abordagem mais simples, e foi nesse ponto que Leonard Richardson propôs o modelo de quatro níveis para alcançar a “glória” da API REST.
O modelo desenvolvido por Leonard Richardson divide os principais elementos de REST em três passos: recursos (resources), verbos http (http verbs) e controles de hypermedia (hypermedia controls). O modelo de Richardson é facilitador para a construção de APIs. Porém, vale levar em consideração que não é possível considerarmos uma API RESTful só implementando os níveis 0, 1 e 2 porque esses níveis não alcançam todas as constraints definidas por Roy Fielding.
$ npm install
$ yarn
$ npm run dev
OU
$ yarn dev
$ npm start
OU
$ yarn start
Helmet helps you secure your Express apps by setting various HTTP headers.
CORS is a node.js package for providing a Connect/Express middleware that can
be used to enable CORS with various options.
Node.js body parsing middleware.
Parse incoming request bodies in a middleware before your handlers, available under the req.body property.
Node.js compression middleware.
Suports deflate and gzip compression.
Simple, fast generation of RFC4122 UUIDS.
The most powerful schema description language and data validator for JavaScript.
Optei por remover o arquivo .env do .gitignore para facilitar a execução do projeto, mas isso não é uma boa prática para projetos reais.
Normalmente, o .env fica no .gitignore para proteger dados sensíveis como keys, tokens e senhas que são utilizadas no projeto.