1.2.6 • Published 10 months ago

ruserver v1.2.6

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

Biblioteca de Express para criar um servidor basico e configurado.

Importante

Esta biblioteca está em desenvolvimento, então pode conter bugs e não está completa. Baixe sempre a ultima versão, pois ela pode conter correções de bugs e novas funcionalidades. E fique de olho no README, pois ele pode conter informações importantes.

Sobre

Biblioteca RuServer de Ruan Fernandes. Feita em cima do Express, ela facilita a criação de um servidor basico e configurado com controladores. Ela usa Controllers para facilitar a criação de rotas e ações.

REPOSITÓRIO:

DOAÇÕES:

Como usar

Para usar a biblioteca, basta instalar ela com o comando:

npm i ruserver

Depois, basta importar a biblioteca no seu arquivo.ts

import { RuServer } from 'ruserver';
import { HelloWorld } from './HelloWorld';

const server = new RuServer(3000); // Porta do servidor (Opcional)
server.loadControllers([HelloWorld]);
server.start();

E criar um controller com o nome desejado, no meu caso HelloWorld.ts

// # Path: HelloWorld.ts
import { Controller, Get, Post, RequestData, Logger, Ok, BadRequest } from 'ruserver';
@Controller()
export class HelloWorld {
   
    constructor() {
        console.log('TestController created');
    }

    // Sem primeiro parametro, o método é chamado para o caminho "/"
    @Get('', 'Descricao do metodo')
    index(requestData: RequestData, extraParams: Map<string, any>) {
        // requestData e logger são injetados automaticamente
        // Não é necessário declarar os parâmetros, somente se precisar usa-los
        const Logger: Logger = extraParams.get("logger");

        Logger.info("TestController.index() called");

        // requestData.query é um objeto com os parâmetros da query string
        if (requestData.query.name) {
            return new Ok('Bem vindo ' + requestData.query.name);
        }

        // Tipos de Retorno Ok(data), Unauthorized(data), BadRequest(data), InternalError(data), NoContentOK(data)
        return new Ok('Bem vindo ao servidor');
    }

    @Get('test/:id')
    test(requestData: RequestData) {
        // requestData.params é um objeto com os parâmetros da URL
        return new Ok(`Test ${requestData.params.id}`);
    }

    @Post()
    post(requestData: RequestData) {
        if (!requestData.body.name) {
            return new BadRequest(`Name is required`);
        }

        // requestData.body é um objeto com os parâmetros do corpo da requisição
        return new Ok(`Post ${requestData.body.name}`);
    }
}

API

Após tudo feito, basta iniciar as requisições nas rotas criadas.

TODO

  • Criar biblioteca
  • Criar documentação
  • Criar exemplos
  • Criar função para modificar o status code da resposta
  • Criar função para modificar o cabeçalho da resposta
  • Criar função para modificar o corpo da resposta
  • Criar função para autenticar o usuário

Exemplos

  • Criar um servidor basico
  • Criar um servidor com controladores
  • Criar um servidor com autenticação
  • Criar um servidor com banco de dados
1.2.6

10 months ago

1.2.5

11 months ago

1.2.4

11 months ago

1.2.3

11 months ago

1.2.2

11 months ago

1.2.1

11 months ago

1.2.0

12 months ago

1.1.95

12 months ago

1.1.84

12 months ago

1.1.83

12 months ago

1.1.82

12 months ago

1.1.81

12 months ago

1.1.8

12 months ago

1.1.7

12 months ago

1.1.6

12 months ago

1.1.5

12 months ago

1.1.4

12 months ago

1.1.2

12 months ago

1.1.1

12 months ago

1.1.0

12 months ago

1.0.6

12 months ago

1.0.55

12 months ago

1.0.5

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago

0.0.2

12 months ago

0.0.1

12 months ago