本文提供基于 Node.js 和 Express 框架开启本地服务的完整代码示例。内容涵盖服务端配置 body-parser 解析请求体、定义 POST 路由处理逻辑,以及使用 Python requests 库进行客户端接口调用的具体实现。通过简单加法运算和 URL 处理案例,展示从服务启动到数据交互的标准流程,适用于初学者快速搭建后端服务环境。
首先,通过 Node.js 引入 express 模块并创建应用实例。为了正确解析客户端发送的请求数据,需要引入 body-parser 中间件,并通过 app.use() 注册该中间件。在业务逻辑部分,定义一个简单的求和函数 sum,接收两个参数并返回它们的和。接着,配置一个 POST 路由 /get_data,该路由接收请求体中的 a 和 b 参数,将其转换为整数后调用 sum 函数计算结果,最终将结果以字符串形式通过 res.send() 返回给客户端。最后,调用 app.listen() 方法在 3000 端口启动服务,并在控制台输出服务启动信息。
//用node开启服务
const express = require('express')
const app = express()
//const sum = require("./sum") # 方法单独封装成文件
var bodyParser = require("body-parser")
app.use(bodyParser())
//执行的方法
function sum (a,b){
return a+b
}
app.post('/get_data',function (req, res) {
let result = req.body
console.log('data:',result)
let a = parseInt(result.a)
let b = parseInt(result.b)
console.log('a:',a)
console.log('b:',b)
result = sum(a,b)
console.log('result:',result)
res.send(result.toString()) //返回数据
})
app.listen(3000,() => {
console.log('开启服务,端口3000')
})
在客户端方面,使用 Python 的 requests 库向刚才启动的服务端发起 POST 请求。指定目标 URL 为 http://127.0.0.1:3000/get_data,并构造包含参数 a 和 b 的数据字典。通过 requests.post() 方法发送请求,并打印返回的响应文本内容,以验证服务端处理结果是否正确。
import requests
url = "http://127.0.0.1:3000/get_data"
data = {
"a": 1,
"b": 2
}
req = requests.post(url,data)
print(req.text)
另一个更完整的 Express 服务示例展示了如何同时处理 JSON 和 URL 编码的请求体。首先引入 express 和 body-parser,并配置 app.use() 分别处理 json 和 urlencoded 格式的数据。服务端定义了多个 POST 路由,例如 /geturl 用于处理 URL 相关逻辑,以及 /getsign 用于生成签名。在每个路由中,从 req.body 提取数据,执行相应的业务逻辑(如 getUrl 或生成 sign),并将结果通过 res.send() 返回。最后,通过 app.listen() 在 3000 端口启动服务,并监听来自 http://127.0.0.1:3000 的连接。
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/geturl', function (req, res) {
let { url } = req.body;
let new_url = getUrl(url);
console.log('result:\n',new_url);
res.send(new_url);
});
app.post('/getsign', function (req, res) {
let { url } = req.body;
let sign = getSign(url);
console.log('result:\n',sign);
res.send(sign);
});
const server = app.listen(3000, function () {
console.log(
"node服务启动,监听地址为: http://127.0.0.1:3000"
)
});以上即为 Express 结合 Node.js 开启服务及接口调用的详细示例。如需了解更多相关内容,建议关注本站发布的其他技术文章。