- Inseri os métodos
Update - Author
,Delete - Author
,Get by Id - Author
; - Além disso, implementei uma regra para que quando o usuário tente excluir um Author que esteja relacionado com algum livro, retorne a seguinte mensagem: "Author is related to a Book";
- Se o usuário informar algum ID de um Author ou Book que não existe no banco de dados nos métodos
Get by Id
,Update
,Delete
,Post Book {id Author}
, terá como resultado: "Author not found" ou "Book not found";
- @AllArgsConstructor: fornece a criação de um construtor com todos os atributos;
- @Column(nullable = false): usada para definir a restrição na coluna do banco de dados e garante que a coluna não possa ter valores nulos no banco de dados;
- @Data: gera getters para todos os campos, setters para todos os campos não-finais e o toString apropriado, equals e implementações hashCode que envolvem os campos da classe;
- @DeleteMapping: usada para mapear solicitações HTTP DELETE em métodos manipuladores específicos;
- @Entity: utilizada para informar que uma classe também é uma entidade;
- @GeneratedValue(strategy = GenerationType.UUID): indica que a geração do valor do identificador único da entidade será gerenciada pelo provedor de persistência, utilizando a estratégia UUID;
- @GetMapping: usada para mapear solicitações HTTP GET em métodos manipuladores específicos;
- @Id: especifica o identificador da entidade, que é usado ao carregar a entidade em um determinado contexto de persistência;
- @JoinColumn: usada para definir o mapeamento físico real no lado proprietário em uma relação um-para-muitos/muitos-para-um;
- @JsonIgnoreProperties: indica quais propriedades de um objeto devem ser ignoradas durante a serialização ou desserialização;
- @ManyToOne: indica que temos um relacionamento muitos-para-um;
- @NoArgsConstructor: gera um construtor sem argumentos para a classe anotada;
- @OneToMany: indica que temos um relacionamento um-para-muitos;
- @PutMapping: usada para mapear solicitações HTTP PUT em métodos manipuladores específicos;
- @PostMapping: usada para mapear solicitações HTTP POST em métodos específicos de manipulador;
- @RequestBody: indica que o valor do objeto virá do corpo da requisição;
- @Repository: serve para definir uma classe como pertencente à camada de persistência;
- @Table: usada para especificar a tabela principal da entidade atualmente anotada;
Vitor Medeiro - MEDEIRO.TECH
Lucas Araujo