【问题标题】:What is Middleware in Express JSExpress JS 中的中间件是什么
【发布时间】:2018-01-02 08:20:31
【问题描述】:

大家好,在 Express Framework 中,我们使用中间件,例如正文解析器

例如:-

app.use(bodyParser.urlencoded({extended : true}))

什么是中间件,什么是 Express js 中的中间件,它在 Exprees js 中究竟是如何工作的,我们如何在 Express Js 中创建自定义中间件??

【问题讨论】:

标签: javascript node.js express


【解决方案1】:

中间件的名字就很能说明问题。在实际调用控制器/函数之前,我们使用中间件来完成特定任务。

router.post("/",roleGrant.grantAccess('readAny', 'currency'),validate(authValidation.add),function (req,res){
    currencyDAL.add(req.body,function (data){
        const response = responseSchema.responseSchema(data);
        response.status_code == 1 ? res.status(200).json(response) : res.status(401).json(response)
    })
})

所以你可以看到这里是一个post API,但是在调用函数之前,我调用了中间件,首先roleGrand 来判断用户是否可以调用货币API,然后我调用验证中间件来确保用户把所有调用货币 post API 所需的东西。

如果用户通过了两个中间件,那么API函数/控制器将调用,否则,API将发送响应而不调用API控制器

body-parser 用于 POST 请求。它提取传入请求流的整个正文部分并将其公开在 req.body 上。就像这里我使用 body-parser 来获取 POST 请求的正文。

【讨论】:

    【解决方案2】:

    每当您向服务器发送带有一些数据的请求时。为了解析特定请求的主体并从中提取数据,我们使用 body-parser 模块作为中间件。

    准确地说,中间件基本上是两个应用程序之间的桥梁。

    因此,使用正文解析器允许您通过解析传入请求并将请求对象转发到处理该特定 URL 格式的 API 函数来访问传入请求的 req.body 属性。

    它有各种类型的解析器来满足你的需求,例如:

    1. JSON
    2. 生的
    3. 文字
    4. URL 编码

    如需更广泛的解释,您可以访问docs

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2019-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多