NodeJS Rest Service Routing
Merhaba,
Kısacık bir yazı ile NodeJS Restful Serviste routing nasıl yaparız ondan bahsedeceğim.
Aşağıdaki gibi bir api oluşturdum.
const express = require('express');
const app = express();
const port = 8080;app.get('/user',(req,res) => {
res.status(200).send('Hello! User end point is working!');
});app.get('/post',(req,res) => {
res.status(200).send('Hello! Post end point is working!');
});app.listen(port);
Gördüğünüz gibi “localhost:8080” ' den yayında olan; “/user”, “/post” diye iki adet rotası olan bir apimiz var.
http:localhost:8080/user
http:localhost:8080/post
Şimdi bu farklı amaçlı iki rotayı birbirinden ayıralım.
routes adında bir klasör oluşturuyorum. Altında iki adet rotalarım, bir adet de bunları export edeceğim toplam üç adet dosya oluşturuyorum.
routes/user.routes.jsconst express = require('express');
const router = express.Router({ mergeParams: true });router.route('/user').get(
(req,res) => {
res.status(200).send('Hello! User end point is working!');
}
);
module.exports = router;
routes/post.routes.jsconst express = require('express');
const router = express.Router({ mergeParams: true });router.route('/post').get(
(req,res) => {
res.status(200).send('Hello! Post end point is working!');
}
);
module.exports = router;routes/index.jsexports.userRouter = require('./user.routes');
exports.postRouter = require('./post.routes');
Bu oluşturduğum rotaları da şimdi main dosyamızda kullanalım.
const express = require('express');
const { postRouter, userRouter } = require('./routes');
const app = express();const port = 8080;app.use('/',[
postRouter,
userRouter
]);app.listen(port);
Bu şekilde rotaları hem ana server dosyamızdan hem de birbirinden ayırmış olduk.
İstersek
app.use('/api',[
router.postRouter,
router.userRouter
]);
şeklinde yazarak rotamızı şu hale getirebiliriz.
http:localhost:8080/api/user
http:localhost:8080/api/post