I got curious, so i dig Bitcoin Core repository and found out both REST and RPC use same port[1]. It implies Bitcoin Core can't use both at same time.
This is incorrect, you can use both RPC and REST at the same time.
For example:
$ curl -s http://localhost:8332/rest/mempool/info.json | jq
{
"loaded": true,
"size": 112484,
"bytes": 54413157,
"usage": 277410432,
"total_fee": 1.66517559,
"maxmempool": 300000000,
"mempoolminfee": 1e-05,
"minrelaytxfee": 9.99e-06,
"incrementalrelayfee": 1e-05,
"unbroadcastcount": 0,
"fullrbf": false
}
$ bitcoin-cli getmempoolinfo
{
"loaded": true,
"size": 112519,
"bytes": 54420837,
"usage": 277461216,
"total_fee": 1.66604331,
"maxmempool": 300000000,
"mempoolminfee": 0.00001000,
"minrelaytxfee": 0.00000999,
"incrementalrelayfee": 0.00001000,
"unbroadcastcount": 0,
"fullrbf": false
}