Aplicacao Mule 4 que expoe um endpoint HTTP para consultar documentos em uma colecao MongoDB e retornar o resultado em JSON.
- Runtime Mule: 4.9.0
- Java: 17
- Endpoint HTTP:
GET /test - Porta padrao:
8081 - Banco MongoDB:
Pokemon - Colecao consultada:
pokemon - Operacao usada:
find-documents
Fluxo principal:
- Recebe requisicao em
GET /test. - Executa consulta no MongoDB (
collectionName="pokemon", campoName). - Retorna payload JSON e registra log com a resposta.
src/main/mule/global.xml: configuracoes globais de HTTP Listener e MongoDB.src/main/mule/mongo-db.xml: fluxomongo-dbFlowcom listener, transformacoes e consulta no Mongo.pom.xml: dependencias e plugin Maven do Mule.mule-artifact.json: metadados do app Mule (versao minima do runtime e Java).
- Java 17
- Maven 3.8+
- Mule runtime 4.9.0 (via Anypoint Studio ou execucao Maven)
- MongoDB local em
localhost:27017 - Credenciais de repositorio MuleSoft configuradas no Maven (
settings.xml) para baixar conectores
A conexao atual esta em:
<mongo:connection-string-connection connectionString="mongodb://localhost:27017/Pokemon" />Essa configuracao fica em src/main/mule/global.xml.
No Mongo shell (ou mongosh), crie a base e uma colecao de exemplo:
use Pokemon
db.pokemon.insertMany([
{ Name: "Pikachu", Type: "Electric" },
{ Name: "Charmander", Type: "Fire" },
{ Name: "Bulbasaur", Type: "Grass" }
])- Importe o projeto Maven no Studio.
- Confirme Java 17 e Mule 4.9.0.
- Execute a aplicacao.
No diretorio do projeto, execute:
mvn clean packageDepois rode no runtime Mule local (ou pelo Studio) com o artefato gerado em target/.
Com a aplicacao em execucao:
curl -X GET http://localhost:8081/testResposta esperada: lista de documentos da colecao pokemon em JSON.
- O endpoint aceita apenas metodo
GET. - Se o MongoDB nao estiver disponivel, a consulta falhara no processador
mongo:find-documents. - Para mudar host/porta/database, ajuste a connection string no
global.xml.