Neste CRUD, mostro o exemplo do HttpClient Angular 7 e do Spring Boot Server que usa o Spring Data JPA para fazer CRUD com PostgreSQL para fazer solicitações e receber resposta.
- A classe do Cliente corresponde ao cliente da entidade e da tabela.
- ClienteRepository é uma interface que estende CrudRepository, será autowired em ClienteController para implementar métodos de repositório e métodos de localização personalizados.
- ClienteController é um controlador REST que possui métodos de mapeamento de solicitação para solicitações RESTful, como: getAllClientes, postCliente, deleteCliente, deleteTodosClientes, findByCpf, updateCliente.
- Configuração para propriedades Spring Datasource e Spring JPA em application.properties
- 4 Dependências para Spring Boot e PostgreSQL em pom.xml, como pode ver abaixo:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Neste exemplo, tem:
- 4 components: lista de clientes, detalhes do cliente, criação de cliente, pesquisa de cliente.
- 3 módulos: FormsModule, HttpClientModule, AppRoutingModule.
- cliente.ts: class Cliente (id, nome, cpf)
- cliente.service.ts: serviço para métodos do HttpClient do @angular/common/http
$ npm install
$ ng serve --open
- Angular 7
- Spring Boot 2 - Dependência: Web, JPA, PostgreSQL
- Maven
- Java 8
- PostgreSQL 11
- Bootstrap 4