Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8920

Express で簡単な WebAPI を作成

$
0
0

フォルダー構造

$ 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}

Viewing all articles
Browse latest Browse all 8920

Trending Articles