Desafio: Integração de API com Front-End Objetivo: Criar uma API RESTful com Spring Boot para gerenciar uma lista de tarefas (To-Do List), integrando com um front-end React.
Etapas sugeridas para resolver o desafio: Criação do Projeto no Spring Initializr
Dependências: Spring Web, Spring Data JPA, H2 Database, Lombok, Spring Boot DevTools.
Modelagem da Entidade
java Copiar Editar @Entity public class Tarefa { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String descricao; private Boolean concluida; } Repositório
java Copiar Editar public interface TarefaRepository extends JpaRepository<Tarefa, Long> {} Controller
java Copiar Editar @RestController @RequestMapping("/tarefas") @CrossOrigin(origins = "*") // Libera para o front consumir public class TarefaController {
@Autowired
private TarefaRepository repository;
@GetMapping
public List<Tarefa> listar() {
return repository.findAll();
}
@PostMapping
public Tarefa salvar(@RequestBody Tarefa tarefa) {
return repository.save(tarefa);
}
@PutMapping("/{id}")
public Tarefa atualizar(@PathVariable Long id, @RequestBody Tarefa tarefa) {
tarefa.setId(id);
return repository.save(tarefa);
}
@DeleteMapping("/{id}")
public void deletar(@PathVariable Long id) {
repository.deleteById(id);
}
} Testar com Front-End
Clone o projeto React fornecido.
Rode a API no backend (localhost:8080) e o front no localhost:3000.
Verifique se a comunicação funciona, e se consegue listar, adicionar, atualizar e remover tarefas.