用express创建api服务器(接口)

本文详细介绍如何使用Express框架创建API服务器,包括项目初始化、依赖安装、路由设置及接口测试步骤。

用express创建api服务器(接口)

1、在文件夹下打开终端,输入命令

npx express -e apisever   //apisever为项目名称

2、用命令:cd apisever进入项目目录下

3、用命令:npm i 安装依赖文件,此时会生成一个node_modules文件夹

注意:api服务器需要使用测试工具测试,不能用浏览器展示

自己打造接口

1、在项目目录下的app.js中打造接口

app.use('/product',productRouter)

同时需要在routes文件夹下新建一个product.js文件,称为路由中间件

2、在app.js文件中引入路由中间件

var productRouter = require('./routes/product')

3、在新建的product.js文件中创建路由

const express = require('express')
const router = new express.Router()
router.get('/add',(req,res,next)=>{   //此处开始打造接口
res.render('add.ejs',{
lists:'商品'
})
})
module.exports = router  //导出模块

同时需要在views文件夹下新建一个add.ejs文件

4、在add.ejs文件中写ejs语法

<%= lists%>

5、在Insomnia中测试,地址栏输入默认地址:http://localhost:3000/product/add

6、启动项目,可以先将package.json文件中的node改成nodemon,实时监听,然后再终端输入:npm start

注意:上述方式为一个请求打造一个接口,这样会在造成代码冗余,所以可以使用restful api方法,只打造一个接口,通过不同的请求方式来暴露接口

### 使用 Express 框架创建 API 接口 #### 创建基础项目结构 为了使用 Express 框架来构建 API 接口,首先需要初始化一个新的 Node.js 项目并安装必要的依赖包。这可以通过命令行工具完成: ```bash mkdir my-express-app cd my-express-app npm init -y npm install express cors body-parser ``` 上述命令会创建一个名为 `my-express-app` 的新目录,并在此基础上设置好基本的 package.json 文件以及所需的核心库。 #### 初始化应用程序实例 接下来,在项目的根目录下创建一个名为 `index.js` 或者 `app.js` 的入口文件,用于定义服务器逻辑和服务监听行为[^3]。 ```javascript // index.js or app.js const express = require('express'); const bodyParser = require('body-parser'); const cors = require('cors'); const app = express(); // 解析 JSON 和 URL 编码的数据体 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); // 启用 CORS 支持 app.use(cors()); // 设置端口号 const PORT = process.env.PORT || 3000; // 路由处理... ``` 这段代码设置了中间件以支持解析请求体中的数据格式(JSON 和表单),并通过引入 `cors()` 来允许跨源资源共享(CORS),从而使得前端可以从其他域名访问此 API[^5]。 #### 定义简单 GET 请求接口 现在可以在应用中添加一些具体的路由规则来响应来自客户端的不同类型的 HTTP 请求。下面的例子展示了如何实现一个简单的 `/api/hello` GET 方法返回字符串 "Hello World!" 给调用方: ```javascript // 添加GET请求处理器 app.get('/api/hello', (req, res) => { res.status(200).send("Hello World!"); }); ``` 当用户向该地址发起 GET 请求时,将会收到一条消息作为回应。 #### 处理 POST 请求及参数传递 除了获取资源外,很多时候还需要提交信息给服务器进行保存或其他操作。这里展示了一个接收 POST 数据并将它们回显回去的方法示例: ```javascript // 添加POST请求处理器 app.post('/api/echo', (req, res) => { const message = req.body.message; if (!message) { return res.status(400).json({ error: 'Message is required' }); } res.status(200).json({ received: message }); }); ``` 在这个例子中,如果发送过来的消息为空,则返回错误提示;否则将以 JSON 形式把接收到的内容反馈给客户机。 #### 将多个API拆分成独立模块 随着功能的增长,可能希望将不同的 API 功能划分成单独的 JavaScript 文件以便更好地管理和维护。比如可以按照业务领域分别建立相应的控制器文件夹和对应的 js 文件[^4]。 假设有一个管理用户的 API ,那么就可以这样做: - 在其中再创建两个子文件:一个是用来存储所有跟用户有关的操作 (`users.js`),另一个则是负责启动整个 web server(`server.js`); 对于 user api , 可能看起来像这样 : ```javascript // routes/users.js const express = require('express'); const router = express.Router(); router.get('/', function(req, res){ // 获取全部用户列表逻辑 ... }); router.post('/', function(req, res){ // 新增用户逻辑 ... }); module.exports = router; ``` 最后一步是在 main entry point 中加载这些自定义路由: ```javascript // 修改后的 index.js or app.js const usersRouter = require('./routes/users'); ... // 注册路由 app.use('/api/users', usersRouter); ... // 开始监听连接 app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); }); ``` 通过这种方式可以使代码更加清晰易读,同时也方便后续扩展更多特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值