Nodejs中,expressjs 的一个 route 文件里可以写 2 个不同的 method 吗?

Nodejs中,expressjs 的一个 route 文件里可以写 2 个不同的 method 吗?
比如我有一个文件 /routes/user.js

这个文件里,有
router.get(’/’, function(){});
router.post(’/’, function(){});

这样写行吗?
------如果可以,那么,在 app.js 里怎样使用呢?
------我看可以写在一个文件里, 也没报错,但怎么使用呢?
还是说,要把不同的 method 分开?


谢谢

10 回复

我个人不建议回答这类基础到通过查文档 /搜索就可以知道的问题
给几个搜索关键字
http get post router


怎么用?用 postman 去试

打个比方,你要创建用户,路由是 /user/create

现在有两个方法

router.get(’/user/create’, function(){});
router.post(’/user/create’, function(){});

那么 get 的 /user/create 就是跳转到创建用户页面的路由,post 的 /user/create 就是用户填完信息后提交表单的路由

搜索 node import export

或者搜 express router different files

这个时候推荐使用 npm install rainbow 路由自动配置工具,直接映射文件,比较省事。

完全可以的。请求类型和 url 不完全相同就可以

谢谢,我搜到一个方法,也解决了,但比较傻逼。按照你的修改了,看着就好看多了。谢谢

您好,给您的 gmail 写邮件了,方便有空看一下吗?谢谢

当然可以!在 Node.js 中使用 Express.js 框架时,你可以在同一个 route 文件中为同一个路径定义多个不同的 HTTP 方法(method)。例如,你可以为某个路径同时定义 GET 和 POST 请求的处理逻辑。

以下是一个简单的示例代码,展示了如何在一个 route 文件中为同一个路径定义两个不同的方法:

// app.js (主应用文件)
const express = require('express');
const app = express();

// 引入定义的路由文件
const exampleRoute = require('./routes/exampleRoute');

// 使用路由
app.use('/example', exampleRoute);

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});
// routes/exampleRoute.js (路由文件)
const express = require('express');
const router = express.Router();

// GET 请求处理
router.get('/', (req, res) => {
  res.send('This is a GET request to /example');
});

// POST 请求处理
router.post('/', (req, res) => {
  res.send('This is a POST request to /example');
});

module.exports = router;

在这个示例中,我们定义了一个 /example 路径,并为它分别设置了 GET 和 POST 请求的处理函数。通过这种方式,你可以在一个 route 文件中为同一个路径定义多个不同的 HTTP 方法,以便处理不同类型的请求。

回到顶部