首先,我们需要明确基于node搭建服务器并写接口,其实就是利用node提供的http模块来实现服务器端的开发。在搭建服务器时,需要注意以下几个步骤:
步骤1:创建一个npm项目
首先,打开命令行工具,进入要创建项目的文件夹中,输入以下命令:
npm init
然后,按照提示输入项目的相关信息,如名字、版本号、描述等等。
步骤2:安装依赖库
在项目中使用到的依赖库主要有:express、body-parser、cors等。可以通过以下命令进行安装:
npm install express body-parser cors
步骤3:创建服务器
在项目根目录下新建一个app.js
文件,输入以下代码:
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cors());
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
以上代码用到了express中的常用方法:use()
、get()
、listen()
。
步骤4:实现接口
在app.js
文件中实现接口,例如GET请求:
app.get('/users', (req, res) => {
const users = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 40 }
];
res.json({ users });
});
步骤5:请求跨域的处理
在app.js
文件中添加以下代码,解决跨域问题:
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept,X-Requested-With');
res.header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS');
if (req.method == 'OPTIONS') res.send(200); /*让options请求快速返回*/
else next();
});
示例1:GET请求
接下来,我们尝试着实现一个GET请求并返回一个JSON格式的数据。
app.get('/api/users', (req, res) => {
const users = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 40 }
];
res.json({ users });
});
执行命令node app.js
启动服务器,然后使用浏览器或Postman等工具,访问http://localhost:3000/api/users
,在页面上能看到如下输出:
{
"users": [
{ "name": "Alice", "age": 20 },
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 40 }
]
}
示例2:POST请求
接下来,我们尝试着实现一个POST请求。先新建一个html页面index.html
,在里面添加以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>POST Request Demo</title>
</head>
<body>
<form action="/" method="POST">
<label for="name">姓名:</label>
<input type="text" id="name" name="name"><br>
<label for="age">年龄:</label>
<input type="text" id="age" name="age"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
然后,实现POST接口:
app.post('/', (req, res) => {
const { name, age } = req.body;
res.json({ name, age });
});
执行命令node app.js
启动服务器,在浏览器打开index.html
页面并填写姓名和年龄后,点击提交按钮,能在页面上看到返回的JSON数据:
{
"name": "张三",
"age": "25"
}
通过以上示例,我们详细讲解了如何基于node搭建服务器,写接口,并且解决跨域问题。在实际开发中,可以根据需求和实际情况进一步优化和拓展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于node搭建服务器,写接口,调接口,跨域的实例 - Python技术站