我们使用 express 框架创建了一个服务器,并监听在 3000 端口。我们使用 mysql 模块创建了一个 MySQL 连接池,可以方便地对数据库进行查询。我们使用 body-parser 模块处理 POST 请求参数。当收到 GET 请求 /search 时,服务器会从 URL 参数中获取实体、属性和关键字,并构造 SQL 语句进行查询。查询结果会以 JSON 格式返回给客户端。
时间: 2024-03-03 21:51:09 浏览: 81
这是一个使用Node.js和一些常用模块搭建的Web服务器,具体步骤如下:
1. 使用Express框架创建一个服务器,并监听在3000端口。
```javascript
const express = require('express');
const app = express();
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
```
2. 使用mysql模块创建一个MySQL连接池,可以方便地对数据库进行查询。
```javascript
const mysql = require('mysql');
const pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name',
connectionLimit: 10
});
app.get('/search', (req, res) => {
const { entity, attribute, keyword } = req.query;
const sql = `SELECT * FROM ${entity} WHERE ${attribute} LIKE '%${keyword}%'`;
pool.query(sql, (err, results) => {
if (err) throw err;
res.json(results);
});
});
```
3. 使用body-parser模块处理POST请求参数。
```javascript
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.post('/create', (req, res) => {
const { name, age } = req.body;
const sql = `INSERT INTO users (name, age) VALUES ('${name}', ${age})`;
pool.query(sql, (err, result) => {
if (err) throw err;
res.json({ message: 'User created successfully' });
});
});
```
4. 当收到GET请求/search时,服务器会从URL参数中获取实体、属性和关键字,并构造SQL语句进行查询。查询结果会以JSON格式返回给客户端。
以上就是一个简单的使用Node.js和常用模块搭建的Web服务器,可以进行MySQL查询和POST请求处理。
阅读全文