Converter Lista de Objetos em JSON (Spring Boot)

Amigos,

Estou desenvolvendo uma aplicação web com Spring Boot e sempre tenho utilizado o ModelAndView dos meus Controllers para retornar um objeto na minha View.

Surgiu uma necessidade agora em uma funcionalidade da aplicação que irei precisar retornar um JSON para a view.
o método desta view está assim:

@RequestMapping("/relatorio/{codigo}")
public ModelAndView relatorio(@PathVariable("codigo") Pessoa pessoa) {
ModelAndView mv = new ModelAndView("RelatorioInvestimento");
List<Investimento> investimento = pessoa.getInvestimento();
mv.addObject("investimento", investimento);
return mv;
}

Como que eu faria, nestes mesmos moldes, para eu retornar um JSON desta lista de objetos investimento?
Obrigado!

@RequestMapping("/relatorio/{codigo}")
@ResponseBody
public List<Investimento> relatorio(@PathVariable("codigo") Pessoa pessoa) {
		return pessoa.getInvestimento();
	}

Acho que assim funciona, agora você precisa pegar esse json na sua view =)

Boa tarde!

Muito obrigado pela atenção.

Como que eu faço para “resgatar” esse JSON na minha view, usando o thymeleaf? No caso em específico, queria recuperar dentro de um javascript, estou pensando em passar ele para uma variavel e depois iterar ela para gerar um gráfico.

Assim, no exemplo que havia postado acima, eu tinha no modelAndView o nome da view que o objeto iria ser retornado, sendo que inclusive ela seria aberta. No exemplo que você passou, realmente um JSON é gerado, mas como que eu faria para que ele fosse carregado na view que eu quero abrir?

Muda aquele @PathVariable para @RequestParam e na sua view faça algo mais ou menos assim. A “url” é a url que referencia o método relatorio. Vc pode colocar esse script em uma função e a chama-la a parti de um evento, tal como click de algum botão ou submit de algum form

<script>
var codigo = valor_do_codigo;
$.get("url", { codigo : codigo },
    function(data) {
        $.each(data, function(index, investimento) {
            //itere	
        });
    },
);
</script>