Boa noite
Estou fazendo o treinamento criando um outro sistema, e me apareceu um problema.
No meu sistema, preciso enviar à uma API um JSON com dois parâmetros, e receber como resposta um array de dados Json.
O meu teste roda normalmente assim:
public class TestaSimulacao {
public static void main(String[] args) throws IOException, InterruptedException {
List<SimulacaoConsignacao> consignacoes = new ArrayList<>();
Gson gson = new Gson();
ParametrosEntrada parametros = new ParametrosEntrada(10000,12);
String jsonEntrada = gson.toJson(parametros);
System.out.println("Json de Parametro:" + jsonEntrada);
ApiResponse factory = new ApiResponse();
factory.montaResumo(jsonEntrada, consignacoes);
for (SimulacaoConsignacao simulacao : consignacoes) {
System.out.println("Array Resumido: " +simulacao);
}
}
Json que envio no post: {"valor":10000.0,"meses":12}
Agora, não consigo fazer o que o usuário digita em uma página html chegar ao outro método que montaria esse json de envio para receber o array de resposta:
@Controller //Spring identifica que se trata de um controlador
@RequestMapping("/consignacao/simulacao") // dominio (consignacao / + requisições)
public class ConsignacaoController {
private List<ParametrosEntrada> parametrosarray = new ArrayList<>();
Gson gson = new Gson();
@Autowired
ParametroRepository parametroRepository;
//controlador do cadastra ***********************************
@GetMapping("/cadastra")
public String carregaCadastro(){
//pegar os dados digitados nessa página
return "consignacao/simulacao/resultado_simulacao";
}
@PostMapping("/cadastra")
public String pegaParametros(ParametrosEntrada parametro, Model model) throws IOException, InterruptedException {
parametroRepository.save(parametro);
return carregaResultadoSimulacao(model);
}
@GetMapping("/resultado") //qdo req tipo get mapeia url
public String carregaResultadoSimulacao (Model model) throws IOException, InterruptedException {
// pegar o conteudo digitado aqui para montar o Json de requisição, receber a resposta e montar a lista
List<SimulacaoConsignacao> consignacoes = new ArrayList<>();
String jsonEntrada = gson.toJson(???);
System.out.println(jsonEntrada);
System.out.println("Json: "+ jsonEntrada);
ApiResponse factory = new ApiResponse();
factory.montaResumo(jsonEntrada, consignacoes);
model.addAttribute("resumido",consignacoes);
return "consignacao/simulacao/resultado_simulacao"; //caminho da pasta templates
}
}
Como posso proceder?
Obrigado!