MCPcopy Index your code
hub / github.com/ServeRest/ServeRest

github.com/ServeRest/ServeRest @v3.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.2.0 ↗ · + Follow
81 symbols 181 edges 86 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ServeRest

Servidor REST para estudo de testes de API

serverest version Docker Pulls Sonar code coverage score serverest total downloads

Código de conduta | Como contribuir | Histórico de alterações | Doadores

Logo do ServeRest

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

Ambientes disponíveis

Online em serverest.dev Texto serverest.dev Local com NPM Logo do NPM Local com docker Logo do Docker

Print do ServeRest iniciado no terminal

Consumindo o ServeRest

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.

Online

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.

Localmente com NPM

Execute o seguinte comando no terminal:

npx serverest@latest

Abra para ver detalhes de configuração do ServeRest com NPM

Configuração

Para visualizar as configurações que são possíveis de serem feitas execute o comando:

npx serverest -h

Informação de opções e exemplos fornecidos no terminal

Segurança (--nosec)

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


Localmente com docker

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

Executando versão específica

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.

Teste de carga

IMPORTANTE

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 vai acarretar em prejuízo para o projeto open source e gratuito e irá impactar o estudo de outras pessoas.

Acesso ao status

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?

Badge

Criou repositório utilizando o ServeRest? Adicione o código abaixo no topo do README.md para ter a badge do projeto.

Badge ServeRest

[![Badge ServeRest](https://img.shields.io/badge/API-ServeRest-green)](https://github.com/ServeRest/ServeRest/)

Exemplos de automação

Os repositórios abaixo são exemplos de automação com boas práticas e que consome o ServeRest.

Para encontrar mais repositórios acesse https://github.com/search?q=serverest&type=Repositories

Doadores

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.

Pessoas que apoiam o ServeRest:

Apoiador individual - Open Collective

Empresas que apoiam o ServeRest financeiramente:

Logo da Compass Uol Logo da Compass Uol Logo da EBAC Logo da EBAC Logo da Agilizei

Todos os apoiadores anteriores e atuais podem ser vistos no Open Collective do ServeRest.

Patrocínio com produtos

ServeRest é apoiado pelas seguintes empresas, que fornecem acesso aos seus produtos através de plano de apoio a projetos open source:

Logo do Datadog Logo do 1password

Contribuidores ✨

Veja aqui como você pode contribuir. Contribuições de qualquer tipo são bem-vindas!

Leandro Muto Leandro Muto 📖 🚇 Felipe Rodrigues Felipe Rodrigues 🚇 Lucas Amaral Lucas Amaral 📢 🐛 📖 lucas.fraga lucas.fraga 🤔 🐛 bruno batista bruno batista 🤔 Elias Reis Elias Reis 🚧 🚇 gabriel-pinheiro gabriel-pinheiro 💻 🤔
Rafael Gomes Rafael Gomes 🚇 Diego Bandeira Diego Bandeira 🚇 Maximiliano Alves Maximiliano Alves 📢

Core symbols most depended-on inside this repo

fetchLatestRelease
called by 8
src/utils/github-release.js
getPreferredLanguage
called by 8
src/swagger/scripts/02-language-storage.js
normalizeVersion
called by 7
src/utils/github-release.js
normalizeVersion
called by 7
src/swagger/scripts/01-config.js
aplicacaoExecutandoLocalmente
called by 6
src/utils/ambiente.js
formaDeExecucao
called by 5
src/utils/ambiente.js
renderReleaseToast
called by 5
src/swagger/scripts/03-release-toast.js
hook
called by 4
test/integration/utils/global.js

Shape

Function 81

Languages

TypeScript98%
Go2%

Modules by API surface

src/swagger/scripts/07-doc-lifecycle.js13 symbols
src/swagger/scripts/02-language-storage.js6 symbols
test/integration/utils/index.js5 symbols
src/utils/ambiente.js5 symbols
src/swagger/scripts/05-swagger-spec.js5 symbols
src/swagger/scripts/04-ui-translations.js5 symbols
src/swagger/scripts/03-release-toast.js5 symbols
src/swagger/index.js4 symbols
src/utils/getRandomFinancialContributor.js3 symbols
src/swagger/translations.js3 symbols
src/server.js3 symbols
test/infra/docker_test.go2 symbols

For agents

$ claude mcp add ServeRest \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page