If i want to create such service, do I just run bitcoin core ? is it right ?
No you can't just run Core and be done with it, because the results of any queries will only show the state of your node. Certain things such as unconfirmed transactions and peers aren't the same for each node. And even if they were, JSON-RPC isn't identical to REST and you'll have to make a few minor translations in the query before you can pass it to a node.