Postman

Teoria e Prática

Resumo em construção
Voltar
Conteúdo disponível

Arquitetura RESTful client-server:

Arquitetura API backend (server) e frontend (client), com tecnologias independentes, que comunicam-se via HTTP Request (headers e bodies com verbos REST) e HTTP Response (headers e bodies com verbos REST).











Postman é ferramenta para consumir API Backend (server), substituindo parte Frontend REST (client) na arquitetura client-server, dispensando API Frontend REST GUI. Dessa forma, permite enviar HTTP header/body Requests e analisar HTTP header/body Responses do server API Backend REST. Exemplo de API REST pública online: https://jsonplaceholder.typicode.com.

    Verbos HTTP REST:
  • GET: ver dados;
  • POST: enviar dados;
  • PUT e PATCH: atualizar dados;
  • DELETE: remover dados.
  • Header: cabeçalho com metadados enviados na HTTP Request e Response;
    • Content-Type: define conteúdo enviado no body;
      • application/json: dados em formato JSON;
      • text/html: conteúdo HTML;
      • multipart/form-data: arquivos.
    • Authorization: autenticação na transferência de dados Request e Response;
      • Bearer <token>: tokens de autenticação;
      • Basic <base64encoded_credentials>: autenticação básica;
      • OAuth 2.0.
    • Accept: tipo de resposta que o cliente espera do servidor;
      • application/json (aguarda resposta JSON).
    • User-Agent: identifica cliente da requisição (ex.: chrome, postman);
    • Custom Headers: headers personalizados conforme requisitos da API Backend (ex: X-Custom-Header: MeuHeaderPersonalizado);
  • Body: corpo da HTTP header Request e Response, com informações. Usado quando HTTP header Requests possuem verbos POST, PUT e PATCH;
    • Raw: dados em string;
      • JSON: dados no formato JSON:
        
        {
            "name": "João",
            "email": "joao@example.com"
        }
        
      • XML: dados no formato XML:
        
        <user>
            <name>João</name>
            <email>joao@example.com</email>
        </user>
        
    • Form-Data: envio de dados e arquivos (Postman via chaves (ex: file) e conteúdo (ex: arquivo));
    • x-www-form-urlencoded: comum em formulários HTML, dados codificados em chave-valor na URL (ex.: key=value&key2=value2);
    • Binary: enviar arquivos diretamente como binários (ex.: PDFs, imagens).
  • Params: parâmetros enviados diretamente na URL.
    • Query Parameters: adicionados após '?' na URL (ex: url/user?name=Maria);
    • Path Parameters: adicionados diretamente na url (ex: url/user/maria).

Exemplo HTTP Request - Respose:

    HTTP Request POST (criar usuário):
  • URL: https://api.com/users
  • Headers:
    • POST /users HTTP/1.1
    • Host: api.example.com
    • Content-Type: application/json
    • Authorization: Bearer abc123token
    • User-Agent: PostmanRuntime/7.32.0
    • Accept: */*
    • Content-Length: 78
  • Body (Raw - JSON):
    
    {
        "name": "Maria",
        "email": "maria@example.com",
        "password": "123456"
    }
    

  • HTTP Response (status code 201):
  • Headers:
    • HTTP/1.1 201 Created
    • Content-Type: application/json
    • Content-Length: 86
    • Date: Thu, 16 Jan 2025 18:00:00 GMT
    • Server: Apache/2.4.41 (Ubuntu)
  • Body (Raw - JSON):
    
    {
        "id": 101,
        "name": "Maria",
        "email": "maria@example.com",
        "status": "created"
    }
    

Postman:

Permite envio de HTTP Requests, com configuração de headers, body, authorization, parâmetros de URL, cookies, etc. Possibilita criação e organização de collections de requests, variáveis de ambiente (environments), gestão de configurações para diferentes estágios (desenvolvimento, homologação e produção) e colaboração simultânea (user groups). Permite também automatizar testes via scripts JavaScript, criar fluxos de trabalho com Runner, monitorar APIs em tempo real e integrar com ferramentas como Jenkins e Newman para pipelines de CI/CD, export snippeds de código via curl, relatório de Requests, gestão de erros simplificada, IA integrada Postbot, integração de Mock Servers e Monitors, audit logs e reports. Além disso, conta com vasta Store de APIs para integração e publicação.



Elaborado por Mateus Schwede
ubsocial.github.io