HaneCa

独り立ちへ向けた長い道

Expressフレームワークを使ったWeb APIサーバの作成

投稿日: 2018年5月12日 最終更新日: 2019年1月1日

ここではExpressフレームワークを使ったWeb APIサーバの実装方法について説明します。今回、最終的に作成するシステムには必要ありません。しかし、ReactからのHTTPリクエストがサーバでどのように受け取られているのかを確認するための方法として、Expressフレームワークを使ったWeb APIサーバを作成しました。

Expressフレームワークとは、Node.jsが世の中に出てきた当初から開発されているフレームワークです。かつては、Node.jsでWeb系のアプリケーションを作成する上では欠かせないフレームワークでした。しかし、サーバレスアーキテクチャが流行っている昨今、少しずつ利用は減りつつあるかもしれません。

目次

作成手順

ここでは、次のような手順でWeb APIサーバを実装しました。

  1. express-generatorのインストール
  2. expressプロジェクトの生成
  3. Web APIの作成

express-generatorのインストールとプロジェクトの生成

今回はexpress-generatorというツールを使って、基本となるプロジェクトを生成させました。まず、ターミナルで次のコマンドを実行して、express-generatorをインストールします。

# npm i -g express-generator

問題なくインストールできると、次のコマンドでプロジェクトを生成することができます。

# express api-server

ここで、api-serverとはプロジェクト名になり、api-serverという名前のフォルダが作成され、このフォルダの中にサーバとして必要なファイルが生成されます。その後、次のコマンドを実行して、サーバを起動します。

# cd api-server
# npm i
# npm start

Webブラウザを起動し、http://localhost:3000へアクセスすると、次のような画面が表示されると、正しく生成できています。

Web APIの作成

ここでは、http://localhost:3000/api/sampleにHTTP GETでアクセスすると、successと文字列を返すAPIを作成します。routes/index.jsを次のように変更します。

var express = require('express');
var router = express.Router();

router.get('/api/sample', function(req, res, next) {
  res.json('success');
});

module.exports = router;

npm start を一旦終了させ、もう一度実行し、Webブラウザで http://localhost:3000/api/sample にアクセスして、次のように表示されると正しく実装できています。

このままでも良いですが、同じPC上でReactを実行するとポート番号が衝突するため、bin/www ファイルの15行目あたりにある記述を次のように変更して、利用するポート番号を3000から8000に変更しておきます。

var port = normalizePort(process.env.PORT || '8000');

一応、サーバを再起動し、Webブラウザで http://localhost:8000/api/sample にアクセスして、同じように表示されることを確認しておきます。

今回作成したコードはこちらにアップロードしました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください