No código proposto pelo professor, ele verifica apenas se existe o campo 'nome', mas acabei fazendo a verificação se existe o campo 'name' e 'id' (estou fazendo toda a API em inglês, mas algumas coisas de texto de aviso acabei colocando em português kk) e se não existe nenhuma propriedade além da proposta. Eu tinha a ideia de fazer algo mais dinâmico, mas por enquanto não consegui pensar em nada melhor. Segue o código dentro do controller do postLivro:
try {
const newBook = req.body
if(
newBook.hasOwnProperty('name')
&& newBook.hasOwnProperty('id')
&& (Object.getOwnPropertyNames(newBook)).length < 3
)
{
addBook(newBook)
res.status(201)
res.send(`Livro ${JSON.stringify(newBook)} inserido com sucesso`)
} else {
res.status(422)
res.send(`Book ${JSON.stringify(newBook)} sent doesn't have the same properties from books of the application, which are: 'name' and 'id'`)
}
} catch (error) {
res.status(500)
res.send(error.message)
}