Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

estudo de caso

Olá, preciso fazer o seguinte estudo de caso:

OBJETIVOS:
Criar um aplicação de transações e consultas seguindo o modelo CQRS.
Parâmetros obrigatórios das aplicações:
CADASTRO -
Cadastro de um novo usuário, (Nome completo, documento, login e senha)
Validar CPE
Este usuário deve persistir no banco de memória (SQL).
Deve ser gerado um autenticação única para este cliente poder logar e realizar suas operações, (JWT - SpringSecurity).
OPERAÇÕES -
Um cliente deve poder se logar usando seu login e senha no qual deve ser validado.
Criação de um Histórico de transações, com o valor depositado ou retirado, data e hora. (SQL)
A partir do cliente logado ele deve poder: Depositar dinheiro, consutar seu saldo e pagar contas.
Para depositar dinheiro leve em consideração os centavos e a inserção no histórico,
Para pagamento de contas deve receber um valor hipotético e ser debitado da conta caso o valor exista em saldo, caso não exista o cliente devera ficar negativado e na próxima vez que for depositado algum dinheiro devera ser cobrado a parte negativa com um juro de 1.02%. Exemplo: Após pagar conta: R$:-IOO >> depósito de R$: 200 >> saldo de R$: 98.
Para consulta deve-se mostrar o Saldo Total, junto um histórico detalhado de saque e deposito, Exemplo (JSON):
"SaldoTotal'': "xx.xx", "Historico":
"type . "saque",
"valor": "x.xx
"data": "dd-MM-yyyy
"type": "saque",
"valor": "x.xx
"data": "dd-MM-yyyy HH:mm:ss"
Cada transação de inserção devera também refletir no Cache de consulta.(MongoDB/Redis)

Perguntas como eu faço para uma aplicação Java Web tradicional gerar um JSON( no caso o histórico de transações)?

1 resposta
solução!

Olá Cristiano! Tudo certo?

Para gerar um JSON em uma aplicação Java Web tradicional, você pode utilizar bibliotecas como Jackson ou Gson, que são amplamente utilizadas para converter objetos Java em JSON e vice-versa.

Aqui está um exemplo prático usando a biblioteca Jackson:

  1. Adicione a dependência do Jackson ao seu projeto (caso esteja usando Maven, adicione ao seu pom.xml):

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.13.0</version>
    </dependency>
    
  2. Crie uma classe para representar o histórico de transações:

    public class Transacao {
        private String tipo;
        private double valor;
        private String data;
    
        // Construtores, getters e setters
    }
    
  3. Use o ObjectMapper do Jackson para converter uma lista de transações em JSON:

    import com.fasterxml.jackson.databind.ObjectMapper;
    import java.util.ArrayList;
    import java.util.List;
    
    public class GeradorJSON {
        public static void main(String[] args) {
            try {
                List<Transacao> historico = new ArrayList<>();
                historico.add(new Transacao("saque", 100.50, "01-12-2023 10:00:00"));
                historico.add(new Transacao("deposito", 200.00, "02-12-2023 15:30:00"));
    
                ObjectMapper objectMapper = new ObjectMapper();
                String json = objectMapper.writeValueAsString(historico);
    
                System.out.println(json);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

Esse código cria um histórico de transações e o converte para uma string JSON. Você pode adaptar isso para o contexto da sua aplicação, por exemplo, retornando o JSON como resposta de uma API REST.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.