Priax Dashboards - Customização SQL Data Sources Documentação do Serviço de DataSource SQL para Priax Dashboards Visão Geral Este projeto é uma aplicação web simples desenvolvida em Java com JAX-RS para executar queries SQL em um banco de dados MySQL. Ele expõe um endpoint REST que permite enviar uma query via HTTP GET e retorna os resultados em formato JSON. Inclui autenticação simples via parâmetros na URL. Requisitos Java 8 ou superior Maven 3+ MySQL Server WildFly 23 Configuração do Projeto 1. Clonar ou baixar o projeto Descompacte o arquivo sqlqueryapp_url_auth.zip e abra em um editor de sua preferência. 2. Configurar conexão com o MySQL No arquivo QueryResource.java , edite as constantes: private static final String JDBC_URL = "jdbc:mysql://localhost:3306/seubanco"; private static final String JDBC_USER = "usuario"; private static final String JDBC_PASSWORD = "senha"; Altere para o nome do banco de dados, usuário e senha corretos. 3. Compilar o projeto Execute o comando: mvn clean package Isso gerará o arquivo sqlqueryapp.war dentro da pasta target . Deploy no WildFly 23 1. Iniciar o servidor WildFly Certifique-se de que o WildFly 23 está instalado e iniciado. 2. Copiar o WAR para a pasta de deploy Copie o arquivo target/sqlqueryapp.war para a pasta: /standalone/deployments/ O WildFly fará o deploy automaticamente. 3. Configurar datasource do MySQL no WildFly Copie o JAR do MySQL Connector para standalone/deployments/ ou modules/ . Crie um datasource via Admin Console ou CLI com o mesmo nome e credenciais usadas no código. Como consumir o serviço 1. Via browser ou linha de comando Exemplo de URL: http://localhost:8080/sqlqueryapp/api/query?sql=SELECT+*+FROM+clientes&user=admin&pass=senha 2. Via curl curl "http://localhost:8080/sqlqueryapp/api/query?sql=SELECT+*+FROM+clientes&user=admin&pass=senha" 3. Via Postman Abra o Postman e crie uma nova requisição GET. Na aba Params , adicione: sql : SELECT * FROM clientes user : admin pass : senha Clique em Send . Resposta esperada (exemplo) { "columns": [ {"id": "id", "type": null}, {"id": "nome", "type": null}, {"id": "email", "type": null} ], "values": [ ["1", "Ana Lima", "ana@example.com"] ] } Considerações de Segurança A autenticação por parâmetros na URL é recomendada apenas para ambientes controlados ou desenvolvimento. Para produção, recomenda-se o uso de autenticação via cabeçalhos ou JWT. Se desejar, é possível adaptar o projeto para aceitar também autenticação via header Authorization . Basta pedir!