2018-10-19

firebase functionsをローカルでテスト

JavaScript
Firebase
firebase functions

前回:firebase functions でサーバレス APIの続き
firebase functionsでは、デプロイしなくてもローカル環境でテストが可能です(できないテストもあります)。
せっかくなのでオリジナルのプログラムを作って、ローカル環境で動作確認をしてみます。

おみくじ API を作る

とりあえず動けばいいのでガバガバの仕様。

  • GET で API が呼ばれる
  • JSON 形式で大吉〜大凶を返す
    これだけ。レアくじの出現率なんか気にしない。平等です。

おみくじ Function を作成

const functions = require('firebase-functions');  

// cors許可のためインポート  
const cors = require('cors')({ origin: true });  

const  
 kuji = ["大吉", "中吉", "小吉", "吉", "末吉", "凶", "大凶"],  
 len = kuji.length;  

// 関数本体  
exports.default = functions.https.onRequest((req, res) => {  

 // ランダムで添字を取り出す  
 const index = Math.floor(Math.random() * len);  

 // 結果をJSONに載せる。cors許可のためラップ  
 cors(req, res, () => {  
  res.json({ result: kuji[index] });  
 });  
});  

関数登録

// おみくじ  
exports.omikuji = require('./etc/omikuji').default;  

ローカルでサーバ起動

--only functionsオプションで、functionsのみ serve できます。

firebase serve --only functions  

結果の確認

curlコマンドから結果を確認。

curl http://localhost:5000/blog-cbb72/us-central1/omikuji  
# {"result":"大吉"}  

やったね!!


猫派 / 基本インドア / ガジェット大好き / RDP推進派 / 自作キーボード
コロナ禍の趣味はPC+VRでゲーム。
最近のゲーム:Factorio / にゃんこ大戦争

→ Policy