Предполагая, что вы используете экспресс-каркас, вы можете использовать app.all()
маршрут для всех методов запроса, например, GET,POST,DELETE
и получать или отображать данные по условию на основе метода запроса.
Для дальнейшей справки https://expressjs.com/tr/guide/routing.html
пример:
const express = require('express');
var bodyParser = require('body-parser');
const url = require('url');
const app = express();
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.send('Hello Express app!')
});
//app.all() will accept GET, POST, PUT, DELETE request method
app.all('/products', function(req, res) {
var id = req.query.id;
if (req.method == 'POST') {
console.log(req.body);
res.send('return post data');
}
else {
if (id == undefined || id == null) {
//route : GET /products
res.send('return all products list');
} else {
//route : GET /products?id=1
res.send('return individual product detail');
}
}
})
app.listen(3000, () => {
console.log('server started');
});
Тест:
1. To list all products
Method GET /products
2. To get individual product detail
Method GET /products?id=2
3. To add new product into list
Method POST /products
Request Body (application/json)
{
"name":"xyz",
"description":"Lorem ipsum is placeholder"
}