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

174
Visualizações
No se pueden leer los parámetros de URL del servidor json cuando los datos recibidos son una matriz

Estoy tratando de construir una API falsa con json-server y tengo un problema. No sé si me estoy perdiendo algo o si simplemente me encontré con un error.

Básicamente, si envío un parámetro de URL cuando solicito datos recibidos como un solo objeto, puedo leer mi parámetro sin problemas cuando intento representar esos datos.

Pero si los datos que recibo son una matriz, me quedo indefinido al intentar leer ese parámetro.

Estos son mis archivos (no importa la lógica detrás de esto, simplifiqué las cosas para reducir la información innecesaria).

servidor.js

 const jsonServer = require('json-server') const server = jsonServer.create() const router = jsonServer.router(require('./db.js')()) const middlewares = jsonServer.defaults() server.use(middlewares) server.use(jsonServer.bodyParser) router.render = (req, res) => { console.log("User try query: " + req.query.user) console.log("User try param: " + req.params['user']) if (req.url.startsWith('/slack_users_info')) { res.jsonp({ user: res.locals.data }) } else if (req.url.startsWith('/slack_users_info2')) { res.jsonp({ user: res.locals.data }) } else { res.jsonp(res.locals.data) } } server.use(router) // Run server on indicated port. server.listen(port = 3000, () => { console.log('JSON Server is running') console.log('http://localhost:' + port) })

db.js

 var faker = require('faker'); module.exports = function () { var data = { slack_users_info: slack_users_info(), slack_users_info2: slack_users_info2() } return data; } function slack_users_info() { subdata = [] for (var i = 0; i < 10; i++) { subdata.push({ id: "user_id_" + i, }) } return subdata; } function slack_users_info2() { subdata = { id: "user_id" } return subdata; }

Estoy corriendo con npm start .

Si solicito la matriz, obtengo undefined: GET http://localhost:3000/slack_users_info?user=user_id_0 Luego obtengo:

 User try query: undefined User try param: undefined

Si solicito el objeto único, obtengo el parámetro esperado: GET http://localhost:3000/slack_users_info2?user=user_id_0 Luego obtengo:

 User try query: user_id_0 User try param: undefined

En ambos casos, el cuerpo de la respuesta se recibe correctamente, simplemente no puedo leer el parámetro en el primer caso.

¿Hay alguna razón para esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Mirando https://www.npmjs.com/package/json-server#generate-random-data parece que necesita devolver un objeto, pero puede incluir su matriz dentro de ese objeto.

Por ejemplo, intente:

 function slack_users_info() { const data = { users: [] } for (var i = 0; i < 10; i++) { data.users.push({ id: "user_id_" + i, }) } return data; }
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