用node写一个通过params参数查询数据的接口
假设我们有一个名为users的数据集合,包含以下字段:
- name:用户姓名
- age:用户年龄
- gender:用户性别
- email:用户邮箱
我们可以通过以下代码实现一个查询用户信息的接口:
const express = require('express');
const app = express();
const port = 3000;
const users = [
{ name: 'Alice', age: 25, gender: 'female', email: 'alice@example.com' },
{ name: 'Bob', age: 30, gender: 'male', email: 'bob@example.com' },
{ name: 'Charlie', age: 35, gender: 'male', email: 'charlie@example.com' },
];
app.get('/users', (req, res) => {
const { name, age, gender, email } = req.query;
let result = users;
if (name) {
result = result.filter(user => user.name === name);
}
if (age) {
result = result.filter(user => user.age === parseInt(age));
}
if (gender) {
result = result.filter(user => user.gender === gender);
}
if (email) {
result = result.filter(user => user.email === email);
}
res.json(result);
});
app.listen(port, () => {
console.log(`Server listening at http://localhost:${port}`);
});
在上述代码中,我们使用了express框架来创建一个http服务器,并定义了一个路由'/users',当接收到GET请求时,会从req.query中获取查询参数,并根据参数来筛选出符合条件的用户信息,最后将结果以json格式返回给客户端。
例如,当我们访问'http://localhost:3000/users?gender=male'时,会返回以下结果:
[
{ "name": "Bob", "age": 30, "gender": "male", "email": "bob@example.com" },
{ "name": "Charlie", "age": 35, "gender": "male", "email": "charlie@example.com" }
]
原文地址: https://www.cveoy.top/t/topic/bUrB 著作权归作者所有。请勿转载和采集!