在我的简单Node Js服务器中解析请求

时间:2017-11-10 16:46:55

标签: javascript node.js sockets express server

我是Node的新手,我正在尝试使用Express在Node中构建一个简单的服务器。请求的格式为/input00001/1/output00001。我需要做的是解析这个请求,如果标志是1(中间值),我需要用文件\home\inputfiles\input00001.txt替换文件\home\outputfiles\output00001.txt。怎么可能这样做?

到目前为止,这是我的简单服务器。我没有使用Express和纯NodeJ,如果这样可以更容易。

const express = require('express');
const app = express();
const port = 8000;

app.get('/', (request, response) => {
  response.send('Hello from Express!');
  request.param
});

app.get('/*', (request, response) => {
  response.send('Start!');
    var url = request.originalUrl;
});

app.listen(port, (err) => {
  if (err) {
    return console.log('something bad happened', err);
  }
  console.log(`server is listening on ${port} for incoming messages`);
});

1 个答案:

答案 0 :(得分:1)

您应该设置一个路径,将这些项目作为url参数,然后使用这些参数来执行您想要的操作。例如,如果你的网址是/input00001/1/output00001,那么你可以设置这样的路线:

app.get('/:input/:flag/:output', (req, res) => {
    var params = req.params
    var input = params.input   //input0001
    var flag = params.flag     // 1
    var output = params.output //output0001

    // now do what you need to with input, flag, and output
    if(typeof flag!=='undefined' && flag==1){
       var file_name_string = '\home\inputfiles\input00001.txt';
       var res = file_name_string.replace("input", "output");    
     }

    console.log(input, flag, output)
    res.send("done")
})