Я создал springboot
приложение для управления данными о сотрудниках. Я создал класс Controller для работника, который обрабатывает операции crud
@RestController
public class EmployeeController {
@RequestMapping(value = "/employees",
method = RequestMethod.POST,
produces = {MediaType.APPLICATION_JSON_VALUE}
)
public ResponseEntity<Employee> createEmployee(@RequestBody Employee employee){
employeeService.createEmployee(employee);
return new ResponseEntity<Employee>(employee, new HttpHeaders(), HttpStatus.OK);
}
@RequestMapping(value = "/employees",
method = RequestMethod.GET
)
public ResponseEntity<List<Employee>> getEmployees(){
List<Employee> employees=employeeService.getEmployees();
return new ResponseEntity<List<Employee>>(employees, new HttpHeaders(), HttpStatus.OK);
}
}
Операции API работают нормально, и я могу создавать и получать сотрудников с помощью команды curl
.
> curl --request GET --url http://localhost:8080/employees
[{"id":"100","name":"Dinoop"},{"id":"e1","name":"dinoop"}]
Я хотел бы добавить страницу HTML для отображения и создания нового сотрудника. Я добавил thymeleaf
зависимость и добавил WebMvcConfigurer
@Configuration
public class MvcConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/list-employees").setViewName("list-employees.html");
}
}
и создал следующий HTML в каталоге / resources / templates
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>All Employees</title>
</head>
<body>
<div class="container my-2">
<div th:switch="${employees}">
<h2 th:case="null">No users yet!</h2>
<div th:case="*">
<h2>Users</h2>
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}">
<td th:text="${user.name}"></td>
<td th:text="${user.email}"></td>
</tr>
</tbody>
</table>
</div>
<p><a href="/signup">Add a new user</a></p>
</div>
</div>
</body>
</html>
Но когда я нажимаю через браузер, я не получаю данные.
Я что-то пропустил в html?