最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何为GET端点创建POST端点?

运维笔记admin8浏览0评论

如何为GET端点创建POST端点?

如何为GET端点创建POST端点?

我正在尝试创建一个Node.JS网站,但我需要创建两个端点才能让我的IOT正常工作。目标是创建两个端点,即POST端点,在该端点中检索GET端点的JSON数据,以便在欢迎页面上加载预留的名字和姓氏。我怎么能做到这一点?

const express = require('express');
const path = require('path');
const hbs = require('express-handlebars');

// Moment.js
var moment = require('moment');

// Init App
const app = express();

// Json File
const json = require("./data.json");

// Javascript Files
const welcomeTime = require('./public/javascript/welcomeTime');

// Load View Engine
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout', 
layoutsDir: __dirname + '/views/layouts/'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use(express.static(__dirname+'/public'));

// GET Route
app.get('/', function(req, res){
     res.render('index', {
        title: 'NodePark',
        hotel: 'NodePark',

        // This woould be the json data I need from the payload
        firstName: json.payload.data.Source_FirstName,
        lastname: json.payload.data.Source_LastName,
        // end of data needed

        date: moment().format('ll'),
        time: moment().format('LT'),
        currentHour: welcomeTime.dayTime()
    });
 });

// POST Route
app.post('/hotel', function(req, res){
    res.redirect('/', {
    });
});

// Start Server
app.listen(5000, function(){
    console.log('Port 5000 LIVE.');
});
回答如下:

老实说,不是100%肯定你在这里想要实现的目标。但我会采取刺。

听起来你想要从你的获取和你的帖子路线中检索数据。只需将该数据放入函数中,然后从两个路径中调用该函数即可。但我会说,如果你有一个“POST”端点只是从你的“GET”端点检索数据,我会严重质疑为什么你要开始“发布”。您没有创建任何新资源或任何东西。

无论如何,这是我正在谈论的一个例子。

const express = require('express');
const path = require('path');
const hbs = require('express-handlebars');

// Moment.js
const moment = require('moment');

// Init App
const app = express();

// Json File
const json = require('./data.json');

// Javascript Files
const welcomeTime = require('./public/javascript/welcomeTime');

// Load View Engine
app.engine('hbs', hbs({
  extname:       'hbs',
  defaultLayout: 'layout',
  layoutsDir:    `${__dirname}/views/layouts/`
}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');
app.use(express.static(`${__dirname}/public`));

const getMyData = () => ({
  title: 'NodePark',
  hotel: 'NodePark',

  // This woould be the json data I need from the payload
  firstName: json.payload.data.Source_FirstName,
  lastname:  json.payload.data.Source_LastName,
  // end of data needed

  date:        moment().format('ll'),
  time:        moment().format('LT'),
  currentHour: welcomeTime.dayTime()
});

// GET Route
app.get('/', (req, res) => {
  res.render('index', getMyData());
});

// POST Route
app.post('/hotel', (req, res) => {
  const theData = getMyData(); // use it here???  I have no idea....
  res.redirect('/', {
  });
});

// Start Server
app.listen(5000, () => {
  console.log('Port 5000 LIVE.');
});
发布评论

评论列表(0)

  1. 暂无评论