Reputation: 459
I'm sending a get request from postman to this url /api/v1/get_services/p but I cannot get the query parameters. The result I get is [object object].
My postman get request looks like this:
Postman request: localhost:4000/api/v1/get_services/p?category=Music
Express route:
apiRoutes.get('/api/v1/get_services/p', async (req, res) => {
const { category } = req.query;
const rootRef = firebase.database().ref(`${category}`);
await rootRef.once('value', (snap) => {
if (snap.exists()) {
console.log(snap.val());
res.status(200);
res.send(snap.val());
} else {
res.status(404);
res.send('No services found');
}
});
});
Is there any additional configuration that I should add to express middleware?
Upvotes: 1
Views: 6124
Reputation: 781
Write a object builder function to take the correct req.query
sub elements from the parameter ?
function parameterBuilder (body) {
var record = {}
record.category = body.category | ' ';
record.name = body.name | ' ';
return record;
}
apiRoutes.get('/api/v1/get_services/p', async (req, res) => {
const { category } = req.query;
//New code
var parameters = parameterBuilder(req.query);
console.log(parameters) // check to see all ur parameters is there
//end of new code
const rootRef = firebase.database().ref(`${category}`);
await rootRef.once('value', (snap) => {
if (snap.exists()) {
console.log(snap.val());
res.status(200);
res.send(snap.val());
} else {
res.status(404);
res.send('No services found');
}
});
});
Upvotes: 2
Reputation: 2340
Your request should be:
localhost:4000/api/v1/get_services/Music
Upvotes: 0