Динамически подобная экспресс-маршрутизация для динамического объекта для печати - PullRequest
0 голосов
/ 11 ноября 2018

Я отправляю обратно объект для экспресс-печати, который должен быть напечатан через escpos (для термопринтера в Ubuntu 18).

Мой сервер переднего плана реагирует.

Мне нужно напечатать «квитанции» для информации, которая может относиться к различным объектам после первого набора переменных

date
name
customer name
customer phone
[array of objects]

Я могу создать маршрут для первого набора переменных

router.post('/printer/:date/:name/:custName/:custPhone/', function(req,res,next) {

Но возможно ли динамически добавить к этому маршруту объект, который может быть различным, например:

{ type: 'pizza', drinks : '2' }

или

{ extra : 'garlic bread' }

В настоящее время я отправляю данные обратно, как показано ниже:

axios.post('/api/printer/' + newDate + '/' + userName + '/' + selectedCustomerName + '/' + selectedCustomerPhone)

Я подумал о публикации таких сообщений:

            axios.post('/api/printer', {
            name : userName,
            date : newDate,
            customerName : selectedCustomerName,
            customerPhone: selectedCustomerPhone,
            type : orderType,
            extra : orderExtra,
            drink : orderDrink
        })

и затем захватывает его в Express, анализирует информацию и затем отправляет на принтер, кажется, самый локальный способ.

Мне было любопытно, если в противном случае возможен метод с "динамическим" маршрутом?

1 Ответ

0 голосов
/ 11 ноября 2018

Вам не нужно устанавливать все необходимые переменные в качестве параметров маршрута. Вы должны поместить их все в тело запроса, как вы и предполагали.

Тогда на сервере:

app.use(express.urlencoded({extended: true}));

router.post('/printer', function(req, res) {

  const data = req.body;
  console.log(data)

  //Do what ever you want 

  res.send('OK')

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...