フォルダー構造
$ tree
.
├── app.js
└── routes
└── index.js
app.js
//-------------------------------------------------------------------------// app.js//// Jan/18/2020//-------------------------------------------------------------------------varexpress=require('express')varroutes=require('./routes')varbodyParser=require("body-parser")varcfenv=require('cfenv')varapp=express()app.use(bodyParser.urlencoded({extended:true}))app.use(bodyParser.json())app.use(express.static(__dirname+'/public'))varappEnv=cfenv.getAppEnv()app.post('/post_test',routes.post_test)app.listen(appEnv.port,'0.0.0.0',function(){console.log("server starting on "+appEnv.url)})//-------------------------------------------------------------------------
routes/index.js
// -----------------------------------------------------------------------/*
routes/index.js
Jan/18/2020
*/// -----------------------------------------------------------------------exports.post_test=function(req,res){varaa=0varbb=0if(req.body.aa){aa=parseInt(req.body.aa,10)}if(req.body.bb){bb=parseInt(req.body.bb,10)}vardict_aa={}dict_aa["aa"]=aadict_aa["bb"]=bbdict_aa["sum"]=aa+bbdict_aa["diff"]=aa-bbvarstr_out=JSON.stringify(dict_aa)res.send(str_out)}// -----------------------------------------------------------------------
サーバーの起動
$ node app.js
server starting on http://localhost:3000
テストスクリプト
#URL=http://localhost:3000/post_test
#
curl -X POST -daa="12"-dbb="45"$URL#echo#
curl -X POST -H"Content-Type: application/json"\-d'{"aa":"32", "bb":"41"}'$URL#echo#
curl -X POST -H"Content-Type: application/json"\-d@in01.json $URL#echo#
in01.json
{"aa":"52","bb":"84"}
実行結果
$ ./go_test.sh
{"aa":12,"bb":45,"sum":57,"diff":-33}
{"aa":32,"bb":41,"sum":73,"diff":-9}
{"aa":52,"bb":84,"sum":136,"diff":-32}