Skip to content

Benevanio/MuleSoft-DataWeave-API-Alunos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 MuleSoft DataWeave – API de Cadastro de Alunos

Este projeto demonstra leitura, transformação e organização de dados utilizando DataWeave no MuleSoft através de uma API simples.

A ideia do exemplo é usar uma analogia de cadastro de alunos de uma escola para explicar operações comuns em integrações, como leitura de payloads, transformação de dados e filtragem de registros.

Nesse cenário, o DataWeave atua como a secretaria da escola, responsável por organizar as informações recebidas e preparar os dados para outros sistemas.


🧠 Como o projeto funciona

O fluxo da API executa as seguintes etapas:

  1. Recebe uma requisição HTTP com uma lista de alunos
  2. Valida se o payload possui a estrutura esperada
  3. Processa os dados com DataWeave
  4. Aplica transformações como:
    • leitura da lista de alunos
    • extração de nomes
    • filtragem por série
    • contagem total de alunos
  5. Retorna uma resposta estruturada com os dados processados

📡 Endpoint da API


POST /escola/alunos

URL local:


[http://localhost:8081/escola/alunos](http://localhost:8081/escola/alunos)


📥 Payload de exemplo

{
  "alunos": [
    { "nome": "Ana", "idade": 14, "serie": "" },
    { "nome": "Carlos", "idade": 15, "serie": "" },
    { "nome": "Mariana", "idade": 14, "serie": "" }
  ]
}

🧪 Testando a API com cURL

curl --location 'http://localhost:8081/escola/alunos' \
--header 'Content-Type: application/json' \
--data '{
"alunos":[
  {"nome":"Ana","idade":14,"serie":"9º"},
  {"nome":"Carlos","idade":15,"serie":"1º"},
  {"nome":"Mariana","idade":14,"serie":"9º"}
]
}'

📤 Exemplo de resposta

{
  "status": "success",
  "mensagem": "Lista de alunos processada com sucesso",
  "dados": {
    "nomes": [
      "Ana",
      "Carlos",
      "Mariana"
    ],
    "alunosDoNono": [
      "Ana",
      "Mariana"
    ],
    "totalAlunos": 3
  }
}

⚙️ Tecnologias utilizadas

  • MuleSoft
  • DataWeave 2.0
  • HTTP Listener
  • Maven

📦 Versões utilizadas

Tecnologia Versão
Mule Runtime 4.6.x
Java 17
Maven 3.9+
DataWeave 2.0

🚀 Como executar o projeto

1️⃣ Pré-requisitos

Instale as seguintes ferramentas:

  • Java 17
  • Maven 3.9+
  • Anypoint Studio

2️⃣ Clonar o repositório

git clone https://github.com/seu-usuario/mulesoft-dataweave-school-api.git

3️⃣ Importar no Anypoint Studio

  1. Abra o Anypoint Studio
  2. Clique em:
File → Import → Anypoint Studio Project from File System
  1. Selecione a pasta do projeto

4️⃣ Executar o projeto

Execute a aplicação pelo Studio ou via Maven:

mvn clean install
mvn mule:run

🧩 Estrutura simplificada do fluxo

HTTP Listener
      │
      ▼
Validação do payload
      │
      ▼
Transformação com DataWeave
      │
      ▼
Construção da resposta

🎯 Objetivo do projeto

Este projeto foi criado para demonstrar de forma simples:

  • leitura de dados com DataWeave
  • transformação de payloads
  • filtragem de registros
  • construção de respostas em APIs MuleSoft

A analogia com o cadastro de alunos ajuda a entender como o MuleSoft organiza dados recebidos de diferentes sistemas.


📖 Conceito por trás da analogia

Operação DataWeave Analogia na escola
payload.alunos abrir o livro de matrícula
map fazer chamada dos alunos
filter separar alunos por série
sizeOf contar alunos matriculados

🤝 Contribuição

Contribuições são bem-vindas.

Se quiser melhorar exemplos de DataWeave, integrações ou arquitetura MuleSoft, fique à vontade para abrir um PR.


OBS

Temo um dataweave.jar pode importar ele no seu anypoint studio

About

API para cadastro e gerenciamento de alunos em um sistema acadêmico, utilizando MuleSoft como plataforma de integração e DataWeave para transformação de dados.

Topics

Resources

Stars

Watchers

Forks

Contributors