Dynamic-like Express routing for dynamic-object to print









up vote
0
down vote

favorite












I'm sending an object back to express that needs to be printed via escpos (for a thermal printer on Ubuntu 18).



My front end server is react.



I need to print 'receipts' for information that can be of a variety of object after the first set of variables



date
name
customer name
customer phone
[array of objects]


I can create a route for the first set of vars



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


But is it possible to add to that route dynamically for object that can be various such as:



 type: 'pizza', drinks : '2' 


or



 extra : 'garlic bread' 


I current send the data back like this in the front end:



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


I've considered posting such as this:



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


and then grabbing it in Express, parsing for information and then sending to the printer seem's the most local way.



I was curious if a method with a 'dynamic' route is possible otherwise?










share|improve this question

























    up vote
    0
    down vote

    favorite












    I'm sending an object back to express that needs to be printed via escpos (for a thermal printer on Ubuntu 18).



    My front end server is react.



    I need to print 'receipts' for information that can be of a variety of object after the first set of variables



    date
    name
    customer name
    customer phone
    [array of objects]


    I can create a route for the first set of vars



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


    But is it possible to add to that route dynamically for object that can be various such as:



     type: 'pizza', drinks : '2' 


    or



     extra : 'garlic bread' 


    I current send the data back like this in the front end:



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


    I've considered posting such as this:



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


    and then grabbing it in Express, parsing for information and then sending to the printer seem's the most local way.



    I was curious if a method with a 'dynamic' route is possible otherwise?










    share|improve this question























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm sending an object back to express that needs to be printed via escpos (for a thermal printer on Ubuntu 18).



      My front end server is react.



      I need to print 'receipts' for information that can be of a variety of object after the first set of variables



      date
      name
      customer name
      customer phone
      [array of objects]


      I can create a route for the first set of vars



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


      But is it possible to add to that route dynamically for object that can be various such as:



       type: 'pizza', drinks : '2' 


      or



       extra : 'garlic bread' 


      I current send the data back like this in the front end:



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


      I've considered posting such as this:



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


      and then grabbing it in Express, parsing for information and then sending to the printer seem's the most local way.



      I was curious if a method with a 'dynamic' route is possible otherwise?










      share|improve this question













      I'm sending an object back to express that needs to be printed via escpos (for a thermal printer on Ubuntu 18).



      My front end server is react.



      I need to print 'receipts' for information that can be of a variety of object after the first set of variables



      date
      name
      customer name
      customer phone
      [array of objects]


      I can create a route for the first set of vars



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


      But is it possible to add to that route dynamically for object that can be various such as:



       type: 'pizza', drinks : '2' 


      or



       extra : 'garlic bread' 


      I current send the data back like this in the front end:



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


      I've considered posting such as this:



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


      and then grabbing it in Express, parsing for information and then sending to the printer seem's the most local way.



      I was curious if a method with a 'dynamic' route is possible otherwise?







      node.js reactjs express






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 10 at 22:36









      Robolisk

      3392413




      3392413






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          You don't need to set all the needed variables as route params. You should put them all in the request body like you 'considered' to do.



          Then at the server:



          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')







          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244111%2fdynamic-like-express-routing-for-dynamic-object-to-print%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote



            accepted










            You don't need to set all the needed variables as route params. You should put them all in the request body like you 'considered' to do.



            Then at the server:



            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')







            share|improve this answer
























              up vote
              1
              down vote



              accepted










              You don't need to set all the needed variables as route params. You should put them all in the request body like you 'considered' to do.



              Then at the server:



              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')







              share|improve this answer






















                up vote
                1
                down vote



                accepted







                up vote
                1
                down vote



                accepted






                You don't need to set all the needed variables as route params. You should put them all in the request body like you 'considered' to do.



                Then at the server:



                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')







                share|improve this answer












                You don't need to set all the needed variables as route params. You should put them all in the request body like you 'considered' to do.



                Then at the server:



                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')








                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 10 at 22:58









                yeya

                450513




                450513



























                     

                    draft saved


                    draft discarded















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244111%2fdynamic-like-express-routing-for-dynamic-object-to-print%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Top Tejano songwriter Luis Silva dead of heart attack at 64

                    ReactJS Fetched API data displays live - need Data displayed static

                    Evgeni Malkin