• Express:接口设置


    毋庸置疑,首先是安装express:

            npm install --save express
    
    • 1

    创建一个程序入口文件app.js:

    let express = require("express");
    let app = express();
    
    app.set('port', process.env.PORT || 3000); // 设置端口
    app.get('/', function (req, res) {
      res.type('text/plain');
      res.send("服务器启动")
    });
    //404状态
    app.use(function (req, res) {
      res.type("text/plain");
      res.status(404);
      res.send('404-not found')
    });
    
    //500
    app.use(function (err, req, res, next) {
      console.log('err', err);
      res.type('text/plain');
      res.status(500);
      res.send('500-Server Error');
    });
    
    // 监听端口号
    app.listen(app.get('port'), function () {
      console.log("Express start:", app.get("port"))
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在浏览器中访问http://localhost:3000/,效果如图:
    在这里插入图片描述
    app.get是我们添加的一个路由方法,这个路由方法函数有两个参数:路径和回调函数,路径就是我们的api接口定义,回调函数是处理这个接口调用后的一些逻辑,比如访问数据库以及数据处理等等。

    关于的定制的404和500页面,使用的是app.use,app.use是express的一个中间件方法,app.use方法在这里是用来处理没有匹配路径的处理。

    在express中,配置路由的时候,要注意路由顺序

    设置请求报头,比如:

    app.get('/header', function (req, res) {
      res.set('Content-Type', 'text/plain')
      const arr = { name: "908", num: 7765 };
      res.send(arr)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5

    设置请求体,很多时候接口请求是有一个请求体,比如POST请求中常见的媒体类型:application/x-www-form-urlencoded,是键值对的集合,另一个支持文件上传的媒体类型:multipart/form-data,还有一个Ajax请求application/json

    上面代码中的回调函数有两个参数:请求对象和响应对象

    请求对象req:

    1. req.params,一个数组,包含了命名过的路由参数
    2. req.query,一个对象,包含以键值对存放的查询字符串参数,一般是GET请求参数
    3. req.body,一个对象,包含POST请求参数
    4. req.route,关于当前匹配路由的信息,主要是用于路由调试
    5. req.cookies/req.singnedCookies,从客户端传递的cookie
    6. req.headers,从客户端接收到的请求报头
    7. req.accepts([types]),一个方法,用来确定客户端是否接受一个或者一组指定类型
    8. req.ip,客户端IP
    9. req.path,请求路径

    还有很多的属性,平时常用的应该是req.body和req.query了。

    响应对象res:

    1. res.status,设置http状态码,express默认是200
    2. res.set(name, value),设置响应头,一般不用手动设置
    3. res.cookie(name, value, [options]),res.clearCookie(name, [options]),设置和清除客户端的cookie,需要中间件支持
    4. res.redirect([status], url),重定向浏览器,默认重定向代码是302。
    5. res.send(body), res.send(status, body),向客户端发送响应以及可选的状态码。
    6. res.json(json), res.json(status, json),向客户端发送JSON和可选的状态码
    7. res.type(type),设置content-type的信息
    8. res.format(object),根据接收请求报头发送不同的内容。
      这里仅仅列出这几个简单的属性,其他属性可以查阅官方API。
  • 相关阅读:
    mqttws.js
    进入网络安全行业有哪些大公司推荐
    机器学习 - 混淆矩阵:技术与实战全方位解析
    Python转换文件夹中的图片格式
    黑灰产眼中的NFT:平台嗷嗷待宰,用户送钱上门
    【无标题】
    Cyclopropene-PEG-leucine|环丙烯-聚乙二醇-亮氨酸|环丙烯PEG修饰亮氨酸
    Django 学习小记
    NPM私服搭建(verdaccio)
    Qt创建线程(使用moveToThread方法创建子线程)
  • 原文地址:https://blog.csdn.net/xuelian3015/article/details/127406150