Olá, tudo bem? Neste artigo, vamos aprender como consumir uma API REST dentro de uma aplicação Mendix. Para isso, utilizaremos a API pública de piadas do Chuck Norris, criando uma aplicação simples e interativa.
Estrutura da Aplicação
Nossa aplicação contará com:
- Um data view para exibir o texto da piada.
- Um botão “New Joke” para buscar uma nova piada via API.
- Lógica para persistir as piadas temporariamente por usuário (usando entidade não persistente).
Passo a Passo da Integração com API
1. Criando o JSON Structure
- Crie uma pasta chamada
ExternalAPI. - Crie um novo JSON Structure com os dados da resposta da API. A resposta da API do Chuck Norris tem essa estrutura básica:
jsonCopiarEditar{
"value": "Chuck Norris counted to infinity... Twice."
}
- Após colar o exemplo, o Mendix vai gerar automaticamente os atributos. O que nos interessa aqui é apenas o campo
value.
2. Criando o Import Mapping
- Clique com o botão direito e crie um Import Mapping.
- Selecione o JSON Structure criado anteriormente.
- Mapeie o campo
valuepara uma entidade temporária (TempJoke) com um atributoTexto.
💡 Dica: Renomeie os nomes automáticos para manter seu projeto organizado!
3. Criando a Entidade Temporária
- Crie a entidade
Joke(não persistente). - Adicione o atributo
Texto(tipo String ilimitado). - Crie uma associação com o usuário (Account), para garantir que cada usuário tenha sua própria piada visível.
4. Criando o Microflow DS_ShowJoke
Este microflow será usado como data source para a tela.
Etapas:
- Faça uma chamada REST (GET) para a API do Chuck Norris.
- Use o Import Mapping para mapear a resposta em um objeto temporário (
Response). - Verifique se já existe um objeto
Jokepara o usuário atual:- Se sim, atualize o atributo
Texto. - Se não, crie um novo e associe ao usuário.
- Se sim, atualize o atributo
- Retorne o objeto
Joke.
Montando a Tela
- Adicione um Data View com
DS_ShowJokecomo data source. - Dentro dele, adicione um Text Template e vincule ao campo
Texto.
Criando o Botão “New Joke”
- Adicione um botão “New Joke”.
- Associe-o a um microflow chamado
ACT_NewJoke. - Esse microflow apenas:
- Executa novamente
DS_ShowJoke. - Faz um
Change Objectcom refresh em client (sem alterar atributos).
- Executa novamente
⚠️ Isso garante que a tela atualize com o novo conteúdo sem entrar em loop infinito!
Resultado Final
Ao carregar a aplicação, você verá a primeira piada já carregada. Ao clicar em New Joke, uma nova piada é buscada e exibida.
Dica Técnica
A razão para usar um Change Object com refresh, mesmo sem modificar valores, é forçar o Mendix a atualizar a tela. Se não houver nenhuma “mudança” detectada, o front-end não entende que deve re-renderizar o conteúdo.
Conclusão
Consumir APIs REST no Mendix é simples e poderoso. Com esse exemplo:
- Aprendemos a consumir uma API pública.
- Usamos JSON Structures e Import Mapping.
- Integramos com entidades temporárias.
- Criamos uma experiência interativa e dinâmica no front-end.
