Help us understand the problem. What is going on with this article?

Expressを用いた簡単なAPIの作り方 まとめ

More than 1 year has passed since last update.

概要

Expressを用いたNode.jsサーバにより、簡単なAPIを作る方法をまとめたいと思います。
おそらく、Expressだけで動作するアプリを作る人はいないかと思いますので、それぞれ自分の環境にライブラリを入れていただく形になるかと思います。

使用例

Node.jsとは

Node.js
https://nodejs.org/ja/
Node.js® は、Chrome の V8 JavaScript エンジン で動作する JavaScript 環境です。
Node.js は、軽量で効率的に動作する非同期型のイベント駆動モデルを採用しています。
Node.js のパッケージ管理マネージャである npm は、世界で最も大きなオープンソースのライブラリエコシステムです。

Expressとは

Express.js
http://expressjs.com/ja/
Express は、Web アプリケーションとモバイル・アプリケーション向けの一連の堅固な機能を提供する最小限で柔軟な Node.js Web アプリケーション・フレームワークです。

手順

任意のディレクトリを作りましょう。
ここではexpress-node-exampleとします。
$ mkdir express-node-example
ディレクトリへ移動しましょう。
$ cd express-node-example
node.jsを用いるためにnpmをinitします。
$ npm init
Expressをインストールします。
$ npm install express --save

プログラムを記述

メインで走らせるプログラムと、それぞれのURLで実行するプログラムを別々にしたほうがいいと思います。
ここでは、express-example.jsにAPIのルーティングを、express-exports.jsに実行内容を記述していきたいと思います。

express-example.js
//expressを使用するのでその設定
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
//処理を記述した外部ファイルを参照
var export_func = require("./express-exports");

// urlencodedとjsonは別々に初期化
app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(bodyParser.json());
//listenします。カッコ内の数字を変更することで解放するポート番号を変更できます。
app.listen(3000);
//確認のためコンソールに出力します。
console.log('Server is online.');
//app.getでGETすることができます。最初の引数を変更することでURLが変更できます。二つ目が実行内容です。
app.get('/get-example', function(req, res) {
  export_func.get_example();
})
//app.getでPOSTすることができます。最初の引数を変更することでURLが変更できます。二つ目が実行内容です。
app.post('/post-example', function(req, res) {
  export_func.post_example(req.id, req.name);
})

express-exports.js
//出力用のjsonを作成します。
var json_example = [
      {
           "id": "1",
           "name": "example_json_1",
       },{
           "id": "2",
           "name": "example_json_2"
       }
   ]
//GETの例です。jsonの中身を出力します。
exports.get_example=function(res, req, next){
   res.json(json_example);
}
//POSTの例です。jsonにデータを追加することができます。
exports.post_example = function(id, name) {
   json_example = [
     {
          "id": id,
          "name": name
      }
   ]
}

プログラムを実行

$ node stripe-express.js
でnode.jsサーバを立ち上げます。
別のコンソールにおいて下記のコマンドを実行します。

GET

$ curl -X GET http://localhost:3000/get-example'

POST

$ curl -X POST http://localhost:3000/post-example -H "Accept: application/json" -H "Content-type: application/json" -d '{ "id" :"3" "name":"example_json3"}'
'{ "id" :"3" "name":"example_json3"}'という部分を変更することで。POSTする内容を変更することができます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away