Olá, fiz algumas alterações relacionadas a inserção de dados de busca inválidos como sugerido no final do curso!! Nas buscas por ID alterei a verificação - if (id && getLivroPorId(id)) e no método post incluí a obrigatoriedade de se passar um ID.
function getLivro(req, res) {
    try {
        const id = req.params.id
        if(id && getLivroPorId(id)) {
            const livro = getLivroPorId(id)
            res.send(livro)
        }else{
            res.status(422).send("Id inválido.")
        }
    } catch (error) {
        res.status(500).send(error.message)
    }
}
function postLivro(req, res) {
    try{
        const livroNovo = req.body
        if(req.body.nome && req.body.id) {
            insereLivro(livroNovo)
            res.status(201).send("Livro inserido com sucesso.")
        }else{
            res.status(422).send("Os campos nome e id são obrigatórios.")
        }
    }catch(error) {
        res.status(500).send(message.error)
    }
}Também retirei as variáveis "livros" que estavam nas funções do services e criei uma variável let livros fora das funções para evitar a repetição de código.
let livros = JSON.parse(fs.readFileSync("livros.json"))