Código de conduta | Como contribuir | Histórico de alterações | Patrocinadores
ServeRest permite o estudo de:
- Verbos GET, POST, PUT e DELETE com persistência de dados
- Teste de carga
- Autenticação no header
- Query string
- Teste de schema json
- Teste de carga
Online em serverest.dev |
Local com NPM |
Local com docker |
O ServeRest está disponível de forma online, no npm e no docker.
Todas essas opções possuem as mesmas rotas, regras, dados pré-cadastrados e documentação. Escolha a melhor opção para você.
No ambiente online os dados cadastrados são removidos diariamente, enquanto que no local basta reiniciar o ServeRest.
Prefira a opção de ambiente local caso precise que os dados não sejam alterados por outro usuário.
Acesse https://serverest.dev para visualizar a documentação e as rotas disponíveis.
Essa é a melhor opção para quem não possui NPM e Docker na máquina ou não quer preocupar em gerenciar ambiente.
O ServeRest online possui monitoramento constante do status e tempo de atividade para garantir que esteja sempre disponível.
Execute o seguinte comando no terminal:
npx serverest@latest
Abra para ver detalhes de configuração do ServeRest com NPM
Para visualizar as configurações que são possíveis de serem feitas execute o comando:
npx serverest -h
Por default, o ServeRest irá fazer as seguintes alterações no cabeçalho, que podem ser desabilitadas com npx serverest --nosec
:
Cabeçalhos adicionados:
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Content-Type-Options: nosniff
X-DNS-Prefetch-Control: off
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Cabeçalho removido:
X-Powered-By: Express
Utilize esse comportamento nos seus testes, validando a presença/ausência desses cabeçalhos.
Para saber mais leia o checklist de segurança de API
Execute o seguinte comando no terminal:
docker run -p 3000:3000 paulogoncalvesbh/serverest:latest
Para visualizar as configurações que são possíveis de serem feitas execute o comando:
docker run -p 3000:3000 paulogoncalvesbh/serverest:latest --help
Em ambos os comandos de subida de ambiente local será utilizado a última versão disponível. Caso queira usar uma versão específica basta substituir o latest
pela versão desejada.
Você pode encontrar as versões disponíveis na lista de tags no Docker Hub e na lista de versões do NPM.
- É obrigatório enviar o header
monitor: false
em todas as requisições do seu teste de carga. - O teste de carga deve ser executado apenas em ambiente local (disponibilizado via NPM ou Docker e acessível via http://localhost:3000).
O não seguimento dos 2 tópicos acimas vai acarretar em prejuízo para o projeto open source e gratuito e irá impactar o estudo de outras pessoas.
Para acompanhar o comportamento do ServeRest diante dos seus testes você pode acessar a página http://localhost:3000/status, que contém informações como:
- Uso de CPU.
- Uso da memória.
- Tempo de resposta.
- RPS (Requisições por segundo).
A página de status (/status) está disponível apenas localmente.
Fez teste de carga? O que acha de compartilhar com o autor do projeto o repositório e o relatório final contendo dados de RPS para auxiliar o ServeRest a entender o comportamento de sua infra?
Criou repositório utilizando o ServeRest? Adicione o código abaixo no topo do README.md para ter a badge do projeto.
[![Badge ServeRest](https://img.shields.io/badge/API-ServeRest-green)](https://github.com/ServeRest/ServeRest/)
Os repositórios abaixo são exemplos de automação com boas práticas e que consome o ServeRest.
- Java > Automação com REST-Assured e Junit - Lucas Fraga
- JS > Automação com Supertest, Mocha e Chai - Paulo Gonçalves
- JS > Automação com Playwright - Leonard Tsuda
- Python > Automação com Pytest - Leonardo Tsuda
- Robot Framework > Automação com RequestsLibrary - Mayara Fernandes
- Ruby > Automação com HTTParty e RSpec - Bruno Quintanilha
Para encontrar mais repositórios acesse https://github.com/search?q=serverest&type=Repositories
Sua empresa usa o ServeRest? Pergunte ao seu gerente ou equipe de marketing se sua empresa estaria interessada em apoiar este projeto e ter os seguintes serviços:
- Subdomínio próprio (nome-escolhido.serverest.dev)
- Acesso a todas as requests e respostas feitas nos últimos 7 dias no subdomínio
Empresas que apoiam o ServeRest:
Achou o projeto útil? Faça doação única ou mensal a partir de 1 dólar e ajude a pagar o domínio, a hospedagem e a manutenção de https://serverest.dev.
Todos os patrocinadores anteriores e atuais podem ser vistos no Open Collective do ServeRest.
Veja aqui como você pode contribuir. Contribuições de qualquer tipo são bem-vindas!