我在@Controller
中有一个方法,它生成一个ModelAndView
并呈现一个JSP页面。生成的HTML是一个报告,每隔几分钟就会在屏幕上刷新一次。
我现在被要求在每个月的最后一天提供报告的快照。我认为最好的方法是在没有对应用程序进行过多重构的情况下,在每个月的最后一天,模拟对生成报告的方法的调用,并捕获生成的HTML,以便将来可以在任何时候呈现
我知道如何在Spring Boot中设置计划任务,但我正在努力弄清楚如何模拟对控制器的调用并将响应作为包含报告中HTML响应的String获取。 / p>
答案 0 :(得分:1)
如果您坚持使用所描述的方法,则可以使用RestTemplate
类
RestTemplate restTemplate = new RestTemplate();
String url = "http://<path-to-your-report-view>";
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
if (response.getStatusCode() == HttpStatus.OK) {
String result = response.getBody();
// ... Save the result
}