Добрый день!
Проблемы могут быть в разных местах, как на клиентской стороне, так и на серверной.
Исключите следующие ошибки:
1) С клиентской стороны отправляется корректный GET запрос с id
/clients/{clientId}
Например,
/clients/6
2) В контроллере вы принимаете его в виде
@PathVariable Integer
Убедитесь, что у вас в entity Client id задан integer, а не long. Иначе скорее всего будет выброшено исключение.
3)
Optional client = null;
try {
client = clientRepository.findById(clientId);
model.addAttribute("allowDelete", false);
} catch (Exception ex) {
model.addAttribute("errorMessage", ex.getMessage());
}
model.addAttribute("client", client);
Эту часть кода можно упростить. Например,
@GetMapping(value = "/clients/{clientId}")
public String clientDetails(Model model, @PathVariable Integer clientId) {
Optional client = clientRepository.findById(clientId).orElseThrow(ClientNotFoundException::new);
model.addAttribute("client", client);
return "client-details";
}
Но подозреваю, что у вас банальная опечатка.
В шаблоне вы используете:
{{#clients}}
А в контроллере добавляете - client.
А значит, должно быть:
{{#client}}