最近我同事想說要讓處理回應的地方可以乾淨一點不然每次參數丟進來都要使用 JSON.parse()
處理一次感覺髒髒的,所以我就使用 express-validator 寫了一個簡單的範例來 demo 這個部分。有需要的人可以參考一下。
const express = require('express'); const { query } = require('express-validator'); const port = 3000; const app = express(); app.use(express.json()); app.get( '/query', query('json').customSanitizer(value => { return JSON.parse(value); }), (req, res) => { console.log('GET query: ', req.query) return res.json(req.query); }, ); app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`) })
使用 curl 測試 API 可以看到回應有順利被成功解析成為 JSON object 型態
$ curl -X GET -G --data-urlencode "json={\"A\":\"B\"}" http://localhost:3000/query {"json":{"A":"B"}}
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!