Aula 8 - Spring Boot e Thymeleaf

Nesta aula vamos realizar um pequeno exercício usando a framework Spring Boot e o template engine Thymeleaf. Para isso deve obter o código do repositório https://github.com/tecnico-softeng/aula-spring.

Comece por realizar uma análise do código. Os controladores estão no package pt.ulisboa.tecnico.softeng.bank.controller, as vistas em src/main/resources/templates e o domínio no package pt.ulisboa.tecnico.softeng.bank.domain.

Para executar o código dê o comando
mvn clean spring-boot:run

podendo então aceder no browser em http://localhost:8080/banks

As alterações a realizar durante a aula consistem na implementação de uma interface web para clientes. Para isso deve 
  • alterar a vista bank.html de forma a que os clientes sejam apresentados numa tabela. Note que o controlador adiciona dois cliente para facilitar o desenvolvimento
  • defina uma nova classe controlador que resolve os caminhos com prefixo /banks/bank/{code}/clients
  • defina também os métodos que necessita no controlador, um GET e um POST para /banks/bank/{code}/clients, para criar um formulário de cliente e submeter um formulário de cliente, respetivamente
  • adicionar à vista bank.html um formulário de criação de clientes
  • criar um novo método no controlador de cliente para o caminho /banks/bank/{code}/clients/client/{id} que procura no banco com o código indicado o utilizador com o identificador id, e apresenta uma vista com toda a informação sobre esse cliente
  • alterar a vista bank.html para incluir os links para se aceder às vistas de cliente definidas no passo anterior
  • colocar uma validação na classe cliente que impede a existência de dois clientes com o mesmo id. Altere a interface, vista e controlador, de forma a que uma mensagem de erro seja apresentada ao utilizador