Express 路由器路由在 Postman 上获取状态 404
Express router route getting status 404 on Postman
我正在尝试通过 Postman 测试在快递中完成的路由,但尽管我有另一条可行的路由,但我一直收到状态 404。
我不会 post 路由的代码确实有效,因为这里写了很多代码,而且似乎没有必要。
App.js
var createError = require("http-errors");
var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
var cors = require("cors");
require("dotenv").config();
var bodyparser = require("body-parser")
var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");
var commentsRouter = require("./routes/comments")
var authRouter = require("./routes/auth")
var app = express();
var corsOption = {
origin: true,
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
credentials: true,
exposedHeaders: ['x-auth-token']
};
// view engine setup
app.use(cors(corsOption));
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({ extended: false }));
app.use(function (req, res, next) {
if (req.originalUrl && req.originalUrl.split("/").pop() === "favicon.ico") {
return res.sendStatus(204);
}
return next();
});
app.use("/", indexRouter);
app.use("/users", usersRouter);
app.use("/comments", commentsRouter)
app.use("/auth", authRouter)
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get("env") === "development" ? err : {};
// render the error page
res.status(err.status || 500);
res.render("error");
});
module.exports = app;
评论路线
var express = require("express");
var router = express.Router();
//Get comment
router.get("/", function (req, res, next) {
return res.status(200)
} )
/* Post new comment. */
router.post("/new", function (req, res, next) {
return res.status(200)
});
//Update comments
router.put("/update", function (req, res, next) {
})
module.exports = router;
索引/路由运行良好,但 /auth 和 /comments 运行不正常。
我正在尝试使用 GET 访问 http://localhost:3000/comments
.status()
不会结束响应过程。您需要通过链接其他方法来显式结束它,例如 .end()
或 .send()
.
用类似这样的东西更新 /comments
的 GET 路由。
router.get("/", function (req, res, next) {
return res.status(200).end();
})
我正在尝试通过 Postman 测试在快递中完成的路由,但尽管我有另一条可行的路由,但我一直收到状态 404。
我不会 post 路由的代码确实有效,因为这里写了很多代码,而且似乎没有必要。
App.js
var createError = require("http-errors");
var express = require("express");
var path = require("path");
var cookieParser = require("cookie-parser");
var logger = require("morgan");
var cors = require("cors");
require("dotenv").config();
var bodyparser = require("body-parser")
var indexRouter = require("./routes/index");
var usersRouter = require("./routes/users");
var commentsRouter = require("./routes/comments")
var authRouter = require("./routes/auth")
var app = express();
var corsOption = {
origin: true,
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
credentials: true,
exposedHeaders: ['x-auth-token']
};
// view engine setup
app.use(cors(corsOption));
app.use(logger("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
app.use(bodyparser.json());
app.use(bodyparser.urlencoded({ extended: false }));
app.use(function (req, res, next) {
if (req.originalUrl && req.originalUrl.split("/").pop() === "favicon.ico") {
return res.sendStatus(204);
}
return next();
});
app.use("/", indexRouter);
app.use("/users", usersRouter);
app.use("/comments", commentsRouter)
app.use("/auth", authRouter)
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use(function (err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get("env") === "development" ? err : {};
// render the error page
res.status(err.status || 500);
res.render("error");
});
module.exports = app;
评论路线
var express = require("express");
var router = express.Router();
//Get comment
router.get("/", function (req, res, next) {
return res.status(200)
} )
/* Post new comment. */
router.post("/new", function (req, res, next) {
return res.status(200)
});
//Update comments
router.put("/update", function (req, res, next) {
})
module.exports = router;
索引/路由运行良好,但 /auth 和 /comments 运行不正常。
我正在尝试使用 GET 访问 http://localhost:3000/comments
.status()
不会结束响应过程。您需要通过链接其他方法来显式结束它,例如 .end()
或 .send()
.
用类似这样的东西更新 /comments
的 GET 路由。
router.get("/", function (req, res, next) {
return res.status(200).end();
})