在 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/