簡體   English   中英

從一個 GET 請求中導出輸入查詢並在單獨的請求中使用它們

[英]export input query from one GET request and use them on separate requests

我正在嘗試在我的RESTful API上使用用戶的輸入來查詢一個GET請求,並使用該數據隨機化一個數字並將該信息用於應用程序的 rest。 任何有關存儲值並在整個應用程序的不同塊上使用它們的最佳解決方案的指導都值得贊賞。 部分代碼示例如下:

    app.get("/start", (req, res) => {
        const numberOfFigures = req.query.figures;
        const randomBaseNumber = Math.random();
        const theNumber = (randomBaseNumber * 10 ** numberOfFigures).toFixed(0);
        res.send(`guess the ${numberOfFigures} digit number!`);

    app.get("/guess", (req, res) => {
        let guessedNumber = req.query.guess;
        if (guessedNumber !== theNumber) {
            console.log("Wrong! Guess again");
        }

例如,我正在嘗試在 /guess 請求中使用 /Start 請求中的 Number 值!

您需要將 Number 變量保留在兩個回調的theNumber之外,例如

    let theNumber = 0
    app.get("/start", (req, res) => {
        const numberOfFigures = req.query.figures;
        const randomBaseNumber = Math.random();
        theNumber = (randomBaseNumber * 10 ** numberOfFigures).toFixed(0);
        res.send(`guess the ${numberOfFigures} digit number!`);

    app.get("/guess", (req, res) => {
        let guessedNumber = req.query.guess;
        if (guessedNumber !== theNumber) {
            console.log("Wrong! Guess again");
        }

我也會將 POST 用於/guess端點

想到以下 3 種存儲數據的方式:

  1. 將 theNumber聲明為全局變量。
  2. 將變量存儲在 json 中,並在需要時將其導入(例如:fs 模塊)。
  3. 將其存儲在數據庫中(例如:MongoDB)。

方法1是最簡單的方法。 該變量將可以從所有路由訪問,並且如果您的應用重新啟動,它將被刪除。

let theNumber = 0;
...
app.get("/start", (req, res) => {
    theNumber = ...
    ...

方法 2 和 3 將使變量在創建后保持不變,即使應用程序重新啟動也是如此。 但是,對於這個簡單的用例,我會說它們是矯枉過正的。

暫無
暫無

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

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