body-parser
包body-parser屬於express,原型如下:
[Function] {
json: [Getter], // application/json parser
raw: [Getter], // application/octet-stream parser
text: [Getter], // text/plain parser
urlencoded: [Getter] // application/x-www-form-urlencoded parser
}
body-parser導出一個CommonJS模塊,使用以下方式取得中間件並應用到express:
import bodyParser from 'body-parser';
app.use(bodyParset.json()); // apply application/json parser
或
import { json } from 'body-parser';
app.use(json());
解析之后,req.body
可用。
打印HTTP請求
import { _console } from '@develon/js/lib/node';
_console.hook();
/**
* 記錄HTTP請求
* @param req
* @param res
* @param next
*/
export default function (req, res, next) {
let members = [
`HTTP請求:`, req.method, req.url, req.httpVersion,
'Headers :>>', req.headers,
];
if (req.method?.match(/^POST$/i)) {
members.push('Body :>>', req.body);
}
console.log(...members);
next();
};