第6章 WEBアプリ開発(バックエンドAPIアプリ)

フロントWEBアプリとバックエンドAPIアプリをHTTPメソッドで通信します。

6-1. HTTPリクエストを検査する curl コマンド

HTTPリクエスト:GET, PUT, POST, DELETE のコマンドでの呼び出しを参考に、バックエンドAPI機能をテストしながら開発します。ポート番号は自分の環境に合わせること。

$ curl -X GET http://127.0.0.1:3002/get
$ curl -X DELETE http://127.0.0.1:3002/delete/1
$ curl -X PUT http://127.0.0.1:3002/update/1 -H "Content-Type: application/x-www-form-urlencoded"  -d "flag=111&plan=2222&result=33333"
$ curl -X POST http://127.0.0.1:3002/create -H "Content-Type: application/x-www-form-urlencoded" -d "flag=aaaa&plan=bbbbb&result=cccc"

6-2. DB接続クレデンシャル

Node.jsアプリを配置するディレクトリに環境ファイル[.env]を作成、もしくはDBに接続するための環境変数を追加します

DB_HOST=DBサーバーのドメイン名(もしくはIPアドレス)
DB_USER=データベースに接続するユーザー名
DB_PASS=データベースに接続するユーザーのパスワード
DB_NAME=使うデータベース名

6-3. バックエンドAPIアプリの設計

URIアクセスを待ち受けし、データベースのレコードを読み書きした結果を返す関数を設計します。
ディレクトリ[~/app]に、新しいファイル[app-api.js]を作成します。

// ----------------------------
// 初期設定:モジュール読み込み。変数定義。
// ----------------------------
var express = require("express");                   // Expressモジュール読み込み
var app = express();                                // アプリサーバーとしてインスタンス化
var mysql = require('mysql');                       // MySQLモジュール読み込み
var port = 3003;                                    // TCPポート番号を指定
require('dotenv').config();                         //環境変数[~/app/.env]を process.env に代入

// ----------------------------
// listen()メソッドを実行して3000番台ポートで待ち受け。
// ----------------------------
var server = app.listen(port, function(){
    console.log("Node.js待ち受けポート:" + server.address().port);
});

// ----------------------------
// CORSを許可する
// ----------------------------
app.use((req, res, next) => {});

// ----------------------------
// フォームデータを解析
// ----------------------------
app.use(express.urlencoded({ extended: true }));

// ------------------------------------
// データベースに接続する関数
// ------------------------------------
function connectDatabase() {}

// ------------------------------------
// データベースを閉じる関数
// ------------------------------------
function closeDatabase(db) {}

// ------------------------------------
// データ読み込み
// ------------------------------------
app.get('/get', (req, res) => {});

// ------------------------------------
// データ書き込み
// ------------------------------------
app.post('/create', (req, res) => {});

// ------------------------------------
// データ削除
// ------------------------------------
app.delete('/delete/:id', (req, res) => {});

// ------------------------------------
// データ更新
// ------------------------------------
app.put('/update/:id', (req, res) => {});

アプリをテストします。

$ node app-api.js
Node.js待ち受けポート:3003

待ち受けポート番号が表示されたら成功です。

コメントを残す