1. Objeto aninhado
Requisição Post
Criar um DTO para recebermos os dados e instanciar um objeto Java.
Esse DTO criado, precisa ter os dados da pessoa + o seu departamento, exatamente igual na imagem acima.
Como não podemos dentro de um DTO usar uma entidade. Precisaremos também criar um DepartmentDTO.
Criar um service para realizar a operação
Criaremos o Service juntamente com o método Insert recebendo o DTO criado.
Importar o repository.
Criaremos uma entity Person vazia.
Copiaremos os dados do DTO para a nossa entidade Person.
Para colocar o ID do department dentro da Entity, precisa instanciar um departament para puxar os dados do dto.
Por fim, precisamos converter de Entity para DTO.
Para isso é só nos DTOS, criar um construtor apto a receber um Person. Já no DepartmentDto, ele precisa de um construtor para receber um Department.
Como abaixo. A diferença é que aqui é um Product para ProductDTO.
O terceiro passo é criar um controller
Injetaremos o service e colocaremos na classe o método insert, passando os parâmetros juntamente com a lógica correta.
A lógica é a de sempre... ResponseEntity + URI. (Qualquer coisa ver o video na pt2).
Teste no Postman
Aqui é só dar o Post no HTTP acima, juntamente com os pârametros JSON. Ao dar send, deve funcionar.
Atualizado