簡體   English   中英

在adonis.js / node.js中請求后保存user_id的中間件

[英]Middleware that save the user_id after request in adonis.js / node.js

我有一張名為 job 的表,該表包含:

job
--------------
id INTEGER PK,
name VARCHAR,
user_id INTEGER FK

我需要將創建記錄的user_id保存在user_id中。

其實我做這個中間件:

'use strict'

class Auditory{
  async handle ({ request, auth }, next) {

    const userLogged= await auth.getUser()
    const idUser= userLogged.id

    request.user_id = idUser


    await next()
  }
}

module.exports = Auditoria

我在 Auditory class 中放了一個console.log() ,所以我知道當我發出請求時正在調用這個中間件,但是在請求中沒有設置user_id ,因為將user_id null 保存在數據庫中。

如果我在idUser中放置一個console.log() ,我會得到正確的id (3)。

我忘記了什么?

您需要使用request.params ,例如:

...

request.params.user_id = idUser // Or request.params['user_id'] = ...

await next()

附加信息

請求 object(與代碼調試器相比):

在此處輸入圖像描述

你試試這可能是它的工作

Object.assign(request,{user_id:idUser})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM