出力

初めに

以下、記事で実行するサンプルコードは以下の Git Hub で確認できます。

https://github.com/asakura-sakura/Express

出力

Express.js は HTML ページ、スクリプト、画像などのリソースをさまざまなルートで出力できます。

リソースへのアクセスはルーティングを定義することで利用できます。
ルーティングを定義するには、app.METHOD を使います。

app.METHOD

app.method(パス、ハンドラー)

app.METHOD は Express.js の app オブジェクトのメソッドを使用して定義できます。

事前に以下のように app オブジェクトを作成しましょう。

var express = require('express')
var app = express()

app.METHOD の定義には HTTP メソッドを利用でき、リクエストタイプに関係なく実行されます。

route メソッドは引数に(パス、ハンドラー)を取り、関連するルートで一致するリクエストパスが実行されたら、ハンドラーに定義したコールバック関数が実行されます。

app.METHOD の例です。

app.get('/hello', function(req, res){
  res.send("Hello World!");
});

第二引数にはコールバック関数を定義し、引数としてリクエストオブジェクトとレスポンスオブジェクトを取得しています。
リクエストオブジェクトには、ユーザーのアクセス情報やリクエストパラメータが入っています。
レスポンスオブジェクトには、ユーザーに送信するレスポンスを作成できます。

実際のコードは以下の通りです。

// /出力/基本.js

var express = require('express');
var app = express();

app.get('/route', function(req, res){
  res.send("Hello world");
});

app.listen(3000);
res.send("Hello world");

レスポンスオブジェクトの send()関数を使うことで、レスポンスを返すことができます。

これで実行してみましょう。

port: 3000 で起動しているので、http://localhost:3000/route でアクセスしましょう。

app.listen(3000)

HTTP メソッドの使い分け

app.METHOD にはそれぞれ HTTP メソッドに対応するリクエストを受け付けることができます。

前項では試しに GET メソッドを試してみましたが、他に以下のようなリクエストを受け付けることが可能です。

リクエストメソッド利用ケース
GETリソースの取得
POSTリソースの追加
PUTリソースの更新/追加
DELETEリソースの削除
HEADヘッダ情報の取得
CONNECTプロキシサーバに通信を開始してもらう
OPTIONSサーバのオプションの確認
TRACE
リクエストがどんな経路で届いたか確認

終わりに

簡単な出力を試してみました。これを利用することで API サーバーなどの作成を行うことができます。