首页 > 解决方案 > 如何使用 Spring MVC 调用 Spring Boot REST api?

问题描述

我已经使用 Spring Boot 创建了 REST api。所以,这就是它的片段:

@RestController
@RequestMapping("/api/employee")
public class EmployeeController {
    @Autowired
    private EmployeeService employeeService;

    @GetMapping(value = "/all", produces = "application/json")
    public ResponseEntity<List<Employee>> getAllEmployees() {
        return ResponseEntity.ok(employeeService.findall());
    }

现在,我想创建更像 MVC 应用程序部分 - 显示所有员工使用 thymeleaf 的简单视图。(使用这个应用程序的简单 UI 比发送 curl 请求更方便)

@Controller
public class MainPageController {

    @GetMapping("/employees")
    public String showEmployees() {

        // i don't know what to do here

        return "employeesPage";
    }

这样做的适当方法是什么?有没有更简单的方法来做到这一点?期待您的回答!

标签: spring-bootspring-mvcspring-rest

解决方案


因此,您所做的与在 EmployeeController 上所做的完全相同,但是您返回的不是 JSON,而是一个视图。

  • 通过 EmployeeService 获取您的员工并将其放在一个集合中
  • 在 /templates 文件夹下创建您的员工视图(许多关于如何操作的教程)
  • 将此视图与您的员工集合一起返回

例子:

@GetMapping(value = "employees")
public ModelAndView showEmployees() {
    ModelAndView mav = new ModelAndView("employeesPage");
    mav.addObject("employees", employeeService.findall());
    return mav;
}

在此处查看更多详细信息: https ://www.thymeleaf.org/doc/articles/springmvcaccessdata.html


推荐阅读