Ragic Webhook via ExpressJS

Hihi,

Has anyone of you successfully catch Webhook’s request through a ExpressJS server?
As for me, my server was triggered by Ragic after each create and update to the data at Ragic.
However, the request I got from Ragic is always empty in terms of params and body.
I expect to see data in req.body.

Code below is my implementation. As for versions, I express@4.18.2 on both NodeJS16 and NodeJS18.

import express from "express";
import cors from "cors";

var app = express();
var router = express.Router();
const corsOptions = { origin: true };

const log = console.log;

router.post("/ragic", (req, res) => {
    log(req.params); // output: {}
    log(req.body); // output: {}
    res.status(200).end();
});
//
router.use(cors(corsOptions));
app.set("title", "Ragic Webhook");
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(router);

app.listen(3000, "0.0.0.0", () => {
    log("server listen to port 3000");
});

Hope to hear from anyone of you who have successfully implemented one.

Thank you in advance.
Jonah