0
点赞
收藏
分享

微信扫一扫

Express:接口设置


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

--save express

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

let express = require("express");
let app = express();

app.set('port', process.env.PORT || 3000); // 设置端口
app.get('/', function (req,) {
res.type('text/plain');
res.send("服务器启动")
});
//404状态
app.use(function (req,) {
res.type("text/plain");
res.status(404);
res.send('404-not found')
});

//500
app.use(function (err, req, res,) {
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"))
})

在浏览器中访问http://localhost:3000/,效果如图:

Express:接口设置_前端


app.get是我们添加的一个路由方法,这个路由方法函数有两个参数:路径和回调函数,路径就是我们的api接口定义,回调函数是处理这个接口调用后的一些逻辑,比如访问数据库以及数据处理等等。

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

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

设置请求报头,比如:

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

设置请求体,很多时候接口请求是有一个请求体,比如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。


举报

相关推荐

0 条评论