Доступ к конечным точкам RestController из thymeleaf html - PullRequest
0 голосов
/ 16 февраля 2020

Я создал 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>

Но когда я нажимаю через браузер, я не получаю данные.

enter image description here

Я что-то пропустил в html?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...