Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
Problem with getting one item from json file through get method in Node js

Basically I can get the whole list from json file but I cannot figure out how to get concrete item. When I use postman, path: http://localhost:3000/book/2 for example it returns bookcode does not exist

app.get('/book/list', (req, res) => {
  const books = getBookData()
  res.send(books)
})

app.get("/book/:code", (req, res) => {
  const code = req.params.code
  const existsBook = getBookData();
  const filterBook = existsBook.filter(book => book.code !== code)
  if (existsBook.length === filterBook.length) {
    return res.status(400).send({error: true, msg: 'bookcode does not exist'})
  }
})

const getBookData = () => {
  const jsonData = fs.readFileSync('books.json')
  return JSON.parse(jsonData.toString())
}

here is json file

[{"code":2,"name":"Name of the wind","author":"Patrrick Rothfuss"},{"code":3,"name":"Wise Man's Fear","author":"Patrrick Rothfuss"},{"code":4,"name":"The Doors of Stone","author":"Patrrick Rothfuss"}]
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

This may be because req.query.code is by default a string, not number. This tripped me up once.

A reliable solution would be to use parseInt.

const code = parseInt(req.params.code)

Not working? You could also try a traditional Number ()

const code = Number(req.params.code)
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda