1.1.3 • Published 4 years ago

rest-tree-directorty v1.1.3

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

Padrão REST na estrutura de pastas da aplicação

Features

  • Geração automática das rotas REST, a partir da estrutura de pastas do projeto
  • Separação de responsabilidades de cada end-point em seu respectivo arquivo
  • Geração de uma documetação simples das rotas da API

Instalação

npm install rest-tree-directorty --save

API


SetConfig(config)

Define as configurações da API.

  • input especifica a pasta com a estrutura rest.
  • files mapeamento dos arquivos para os métodos REST.
  • params identificadores no nome das pastas.
    • identifier um parâmetro para a rota
    • separator mais de um parâmetro na rota
{
    "input": "rest",
    "files": {
        "get": ["get", "list"],
        "post": ["create"],
        "put": ["update"],
        "delete": ["delete"]
    },
    "params": {
        "identifier": "@",
        "separator": ","
    }    
}

GetRouters(currentPath)

Obtem as rotas da estrutura implementada.

  • Retorno do método.
return [{ 
    path: `string`, // A rota REST para o arquivo 
    module: `module`, // O módulo / função carregada
    method: `string`  // O método REST configurado
}];
  • Abaixo um esboço da estrutura de pastas e sua correspondência no padrão REST.
REST na estrutura de pastas 
    users/
        create-user.ts
        detail-user.ts
        @id/
            list-user.ts
            update-user.ts
            delete-user.ts
            
REST: 
    POST    = users
    GET     = users
    GET     = users/:id
    PUT     = users/:id
    DELETE  = users/:id
  • Exemplo de uso do método getRouters
const { RestTree } = require('rest-tree-directorty');
const settings = require('./settings.json');
const express = require('express');
const app = express();

...

for (let router of RestTree.getRouters(__dirname))
    app[router.method](router.path, router.module);

...

Compile(currentPath)

Compila as rotas para uma documentação HTML.

  • Gera uma tabela, uma coluna com o método REST e outra com a rota.
  • Exemplo de uso do método compile
const { RestTree } = require('./index');
const settings = require('./settings.json');
const express = require('express');
const app = express();

...

app.get('/', (req, res) => {
    res.send(RestTree.compile(__dirname));
});

...
1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago