node.js - 在 express js 中请求同一服务器上的端点

标签 node.js express

在 express js 服务器上处理请求时,我想调用同一服务器上的端点以填充部分响应。有什么方法可以调用同一台服务器上的端点吗?

类似于:

app.handle("/abc", {
    headers: {
    },
    params: {
    },
    type: "GET"
}, function (err, resp) {});

最佳答案

您可以使用 supertest 来完成库(在应用程序中使用,而不是在测试中使用):

var handleRequest = require('supertest');

var request = handleRequest(app)[params.method](params.path)
.set('Accept', 'application/json')
.set(params.headers);

if (body) request.send(params.body);

request.end(function (err, resp) {
  console.log(resp.body);
});

其中 params 是一个包含您要处理的请求参数的对象,params.method 应该是小写的 HTTP 动词。

或者,您可以对请求和响应对象使用模拟并调用:

app.handle(reqMock, resMock, cb)

关于node.js - 在 express js 中请求同一服务器上的端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23987120/

相关文章:

javascript - 如何使用 Express 函数从 javascript 页面调用 PHP 页面

html - 布局 Jade 导航栏

node.js - 如何使用 ExpressJS 一次 API 调用下载多个文件

node.js - 未找到 Cypress 数据 testid

node.js - 无法从 Node.js 连接到 Telnet 服务器

node.js - express.js 对象值在请求之间保留/保留,require() 缓存?

node.js - 在express js中存储 session 数据的最佳选择是什么

javascript - Express 中间件在 MongoDB 查询期间运行多次

javascript - Nodejs Sequelize中循环获取异步数据

Javascript 在函数问题之外使用变量