スクリプト:Node.jsスクリプトの作成
スクリプト作成時の注意事項につきましては、技術仕様をご確認ください。
スクリプトは必ず関数でmodule.exportsでモジュールとして提供してください。
また、関数は引数として、request, responseの2つを受け取ります。
module.exports = function(req, res){
if(req.headers.flg === 1){
res.send("hello");
}else{
res.json({"greeting": "hello"});
}
};
スクリプト内で使用できるrequestとresponseのプロパティは以下の通りです。
requestオブジェクトのプロパティ
名前 | 説明 |
---|---|
request.query | クエリストリングで渡されたパラメーターのオブジェクト。 |
request.body | リクエストボディで渡されたパラメーターのオブジェクト(MethodがPOST / PUTの場合のみ)。 |
request.headers | リクエストヘッダーのオブジェクト。 |
request.header(key) | keyで指定されたリクエストヘッダーの値を返す。 |
request.get(key) | keyで指定されたリクエストヘッダーの値を返す。 |
request.url | APIリクエスト時のURL。 |
request.method | APIリクエスト時のメソッド。 |
responseオブジェクトのプロパティ
名前 | 説明 |
---|---|
response.set(key, value) | 引数として渡された値をレスポンスヘッダーに追加。 |
request.get(key) | keyで指定されたレスポンスヘッダーの値を返す。 |
response.status(status) | 引数として渡された数値をステータスコードとして指定。 |
response.send(data) | 引数として渡された文字列をレスポンスボディとして返却。 |
response.json(data) | 引数として渡されたJSONをレスポンスボディとして返却。 |
スクリプトをローカル環境でデバッグする
Node.jsがインストールされている環境で、スクリプトをデバッグする方法について解説していきます。
Node.jsで実装されているExpressフレームワークを利用して、簡単なWebサーバーを作成し、そこにデバッグするスクリプトを組み込んでいきます。
新しくNode.jsのプロジェクト用のディレクトリを用意し、以下のpackage.jsonを作成してnpm installコマンドを実行してください。
expressとbody-parserモジュールは必須ですが、それ以外の依存モジュールについては、こちらで使用できるモジュールを確認しつつ、必要なものをインストールしてください。
{
"name": "ScriptSample",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Your name",
"license": "Apache License 2.0",
"dependencies": {
"express": "^4.13.4",
"body-parser": "^1.14.2",
"ncmb": "2.1.1",
"superagent": "2.0.0"
}
}
index.jsを作成し、同じ場所にデバッグするスクリプトを用意してください。
//index.js
//expressとbody-parserモジュールを読み込む
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
//デバッグするスクリプトをモジュールとして読み込む
var TestScript = require('./testScript.js');
var apiVersion = "/2015-09-01";
//読み込んだスクリプトをミドルウェアとして定義
//実際にスクリプト作成時に登録するメソッドを指定してください
app.get(apiVersion + '/testScript.js', TestScript);
//expressでサーバーを起動
app.listen(3000, function () {
console.log('app listening on port 3000');
});
上のサンプルで読み込んでいるtestScript.jsの内容は以下の通りです。
module.exports = function(req, res){
if(req.query.name){
res.send('hello,' + req.query.name);
}else{
res.send('hello');
}
};
node index.jsコマンドでサーバーを起動してください。
$ node index.js
app listening on port 3000
curlコマンドを利用してスクリプトを呼び出すことで、作成中のスクリプトが返す結果を受け取ることができます。
$ curl "http://localhost:3000/2015-09-01/testScript.js"
hello