Node.js——一个简单的Express后端API开发

Expressnode.jsweb开发框架,它有如下特点:

  • unopinionated:框架本身只提供最小web应用开发API;
  • 不限制应用设计模式(MVC,MVP);
  • 不限制代码规范;
  • 不限制功能的选择,例如是否有视图层生成HTML页面

Express实现简单的后端API开发

项目初始化

  1. 初始化项目

    npm init -y # 初始化
    npm add express # 添加express依赖
    
  2. 在根目录新建app.js

    const express = require('express'); // 引入express库
    const app = express(); // 创建express实例代表服务器
    
    const port = 3000; // 设置端口号
    // app.listen来启动server,并监听指定端口
    app.listen(port, () => {
         
        console.log(`Express server listening at http://localhost:${
           port}`);
    });
    
  3. 命令node app.js启动服务:

    node app.js # Express server listening at http://localhost:3000   
    

此时打开http://localhost:3000,只能看到Cannot GET/字样,这是因为还没有处理url路由和http请求.

处理常见的几种请求

  1. 使用app.get()简单处理get请求:(记得重启服务)

    // '/' 处理根路径的请求
    // req 请求,res 响应
    app.get('/', (req, res) => {
         
        res.send('Hello World');
    });
    
  2. 简单处理post请求:

    post一般用来创建新的资源,一般会带有json格式的请求体.

    为了让express能解析json格式的请求体,需要添加express.json中间件到app中:

    app.use(express.json());
    

    中间件是自定义的,用来扩展express功能,它可以在处理请求前或发送响应前做一些特定的操作.

    使用app.post()创建post服务:

    app.post('/', (req, res) => {
         
        console.log('收到请求体:', req.body); // 打印请求体
        res.status(201).send(); // 使用res.status设置响应状态码,201代表资源创建成功,再调用send发送响应
    });
    

    postman软件,模拟post请求http://localhost:3000,发送JSON数据,命令行打印日志:

    收到请求体: {
          name: 'lujiafeng' }
    

    客户端得到201响应状态码.

  3. 简单处理put请求:

    put一般用来更新服务器上的资源,一般需要知道已存在资源的唯一标识(一般是数据库中的id字段)

    客户端发送请求时,在url中提供标识参数,express解析标识参数,根据标识更新服务器上的资源.

    使用app.put()创建put服务:

    // :id表示该url后的值会作为请求的参数,并赋给id变量
    app.put('/:id', (req, res) => {
         
        consol
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值