DEV Community

Bruno Caxias
Bruno Caxias

Posted on • Updated on

Explorando o AppSmith com uma REST API

Introdução

Este artigo tem o objetivo de detalhar algumas partes da manipulação de componentes do AppSmith que fazem uso de uma REST API e de JS, proporcionando um melhor entendimento dessas funcionalidades. Embora a ferramenta AppSmith já esteja bem documentada no site oficial, é possível identificar algumas lacunas e pontos que não foram suficientemente detalhados. Assim, este documento surge como uma maneira de preencher essas lacunas.
Além disso, é pressuposto que uma API (pronta e funcional) será utilizada no projeto, sendo este o foco principal.

1. Criando Um Novo Projeto

Criar um novo projeto é relativamente simples, apenas clicando no botão

Image description

Um projeto pode ser importado também, caso você já possua alguma parte pronta de outro projeto AppSmith.

2. Utilizando APIs

2.1. Configurando DataSource

Antes de realizarmos as queries da API devemos configurar o DataSource nas opções do AppSmith.

Configurando DataSource

Selecione para criar um novo DataSource e selecione RestAPI para utilizar uma API já criada.

Configurando DataSource 2

A tela que aparecerá será uma de geração de query:

Geração de query

Caso queira somente realizar uma query em uma API pública basta inserir o link no campo de url, mas caso queira salvar um DataSource que será utilizado constantemente durante o projeto siga os seguintes passos:

Selecione a opção de Authentication

Image description

E após selecione o botão central de ‘Save as DataSource’

Image description

Na tela de datasource preencha os dados necessários para a API. A URL inserida deve ser a URL base da API e não a da query que deseja ser feita (ex. uma query http://localhost:1337/api/pessoas tem como o endereço base da API http://localhost:1337/).

Se a API necessitar de algum tipo de autenticação, essa mesma pode ser realizada pela última opção de Authentication.

No caso do uso conjunto com o Strapi é necessário uma autenticação por ‘Bearer Token’, ao selecionar essa opção uma nova caixa de texto aparecerá para inserir o token de autenticação do Strapi (para adquirir esse token verifique a documentação do Strapi)

Image description

Após salvar o DataSource é possível realizar queries de forma mais simples, inserindo somente as rotas de navegação e mantendo a URL base, como no exemplo abaixo utilizando a rota ‘/api/pessoas/’

Image description

2.2. Utilizando APIs em Componentes

Ao se criar um componente como uma tabela é demonstrada a opção de conexão para obtenção de dados.

Image description

Ao clicar no botão tem-se novamente a opção de realizar uma query, mas desta vez será utilizado como base o DataSource já cadastrado anteriormente.

Image description

A tela de início não possuirá nada na URL, mas ao clicar no DataSource salvo na aba de Datasources o campo irá se auto preencher com a URL base e com isso basta complementar com a rota desejada.
A partir disto é possível testar a resposta da API clicando em ‘RUN’ e vendo o resultado da query.

Image description

2.3. Utilizando APIs sem Componentes

Queries também podem ser realizadas sem estarem vinculadas a um componente.

Image description

Selecionando a opção ‘Explorer’ no menu lateral e clicando no simbolo ‘+’ ao lado de ‘Queries/JS’ é possível criar uma query sem estar vinculada a um componente.

3. Utilizando componentes

3.1. Tabelas

Ao se criar uma tabela e um datasource for escolhido a tabela gerará uma coluna para cada tipo de dado fornecido.

Image description

Por meio das configurações presentes no menu lateral direito é possível definir o datasource e realizar configurações individuais para cada coluna, não só mudando a visibilidade das mesmas mas também a formatação dos dados presentes em cada.

Image description

Além das colunas geradas pelo datasource é possível também serem criadas colunas extras com nomes, símbolos e opções configuráveis, como as colunas de ‘Apagar’ e ‘Mais Detalhes’ presentes no exemplo.

3.2. Dropdowns

O menu dropdown ao ser adicionado já possui um dataset básico de exemplo. Sendo assim, deve-se altera-lo caso seja desejado utilizar dados do Datasource.

Image description

É importante sempre definir a ‘Label Key’ e a ‘Value Key’ de forma correta, sendo a ‘Label Key’ o campo que será utilizado para aparecer na listagem do dropdown e o ‘Value Key’ o valor do campo (ex. O objeto coordenador pode ter o nome ‘Bruno’ e o id ‘1’ e ao enviar a informação desse objeto esse id deve ser passado então ‘Bruno’ seria o ‘Label Key’ e o id seria o ‘Value Key’)

3.3. Date Pickers

O date picker não necessita de muitas alterações mas é importante verificar se o formato de data que é enviado é similar ao requisitado pela API.

Image description

O date format deve estar de acordo com o formato utilizado pela API (ex. Se a API requisitar a data em formato yyyy/mm/dd o date picker deve também ser configurado para este date format)

4. Redirecionando telas com informações

Ao selecionar um botão é possível atribuir ao mesmo um ação onClick.

Image description

Para que seja feito um botão de redirecionamento deve ser utilizada a opção ‘Navigate To’, ao seleciona-la é possível ser enviado um parâmetro pela query na aba de ‘Query params’. Utilizando variáveis já presentes no AppSmith é possível por exemplo no caso de uma tabela enviar o id da linha selecionada, nesse caso o id do
objeto que foi selecionado.

Image description

Então em outra tela esse parâmetro enviado, nesse caso o id, pode ser utilizado para realizar uma nova query como no exemplo acima utilizando a variável ‘appsmith.URL.queryParams.key’ para resgatar a key enviada.

5. Usando JS

O uso de javascript também é possível no AppSmith, sendo que a criação de um script ocorre na mesma aba de criação de queries.

Image description

Dessa forma, esses scripts podem ser atribuídos a diversos componentes, como no exemplo abaixo ao ser utilizado para calcular horas de trabalho.

Image description

Conclusão

Em resumo, este documento procurou oferecer assistência na configuração do DataSource e na utilização dos componentes, como tabela, dropdown e date picker, disponibilizados pelo AppSmith. Foram fornecidos insights sobre a configuração e a aplicação adequada desses elementos, incluindo detalhes sobre a configuração de queries e o uso de JS para personalizar campos de componentes. Recomenda-se a exploração da documentação oficial e de outros documentos complementares para uma compreensão mais aprofundada e para atender às demandas específicas de projetos. A combinação do AppSmith com APIs representa uma ferramenta robusta para o desenvolvimento ágil e eficaz de aplicativos.

Top comments (0)