编写代码使用 express 框架创建了一个服务器,并监听在 3000 端口。我们使用 mysql 模块创建了一个 MySQL 连接池,可以方便地对数据库进行查询。我们使用 body-parser 模块处理 POST 请求参数。当收到 GET 请求 /search 时,服务器会从 URL 参数中获取实体、属性和关键字,并构造 SQL 语句进行查询。查询结果会以 JSON 格式返回给客户端。
时间: 2024-03-03 12:51:15 浏览: 54
可以按照以下代码在 Node.js 中使用 Express、mysql 和 body-parser 模块创建 HTTP 服务器:
```javascript
const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const app = express();
// 创建一个 MySQL 连接池
const pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : 'password',
database : 'database_name'
});
// 使用 body-parser 处理 POST 请求中的参数
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 处理 GET 请求 /search
app.get('/search', function (req, res) {
// 从 URL 参数中获取实体、属性和关键字
const entity = req.query.entity;
const property = req.query.property;
const keyword = req.query.keyword;
// 构造 SQL 查询语句
const sql = `SELECT * FROM ${entity} WHERE ${property} LIKE '%${keyword}%'`;
// 从连接池中获取一个连接
pool.getConnection(function(err, connection) {
if (err) throw err;
// 执行 SQL 查询语句
connection.query(sql, function (error, results, fields) {
connection.release(); // 释放连接
if (error) throw error;
// 将查询结果以 JSON 格式返回给客户端
res.json(results);
});
});
});
// 启动 HTTP 服务器监听在 3000 端口
app.listen(3000, function () {
console.log('Server listening on port 3000.');
});
```
需要注意的是,这段代码只是一个简单的示例,实际应用中需要进行更严谨的参数验证和SQL注入防范。
阅读全文