我有一个以下节点js服务器:
var express = require('express');
var app = express();
var httpProxy = require('http-proxy');
var apiProxy = httpProxy.createProxyServer();
var serverOne = 'http://<address>:<port>/sap/opu/odata/SAP/Z_ATTENDANCE_SRV/';
app.use(express.static('webapp'));
app.use(express.static('./'));
app.get("/*", function(req, res) {
console.log('redirecting to Server1');
apiProxy.web(req, res, {target: serverOne});
});
app.listen(3000);
使用localhost:3000/AttendanceSet
之类的GET请求时,它可以正常工作。但是当我像localhost:3000/AttendanceSet
这样调用POST请求时,出现以下错误:
The following problem occurred: HTTP request failed404,Not Found,<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /AttendanceSet</pre>
</body>
</html>
-
如何更改服务器代码以使其正常工作?谢谢。
答案 0 :(得分:0)
尝试使用app.all
,以便使用相同的处理程序处理所有不同的HTTP动词。
app.all("/*", function(req, res) {
console.log('redirecting to Server1');
apiProxy.web(req, res, {target: serverOne});
});