Node.js – Express
Przykład 1
const express = require('express');
const app = express();
// Middleware to parse JSON requests
app.use(express.json());
// Temporary in-memory array to store items
let items = [];
// POST endpoint to add a single item to the in-memory array
app.post('/items', (req, res) => {
const newItem = req.body; // Expecting a single object
if (newItem && newItem.name && newItem.quantity && newItem.price) {
items.push(newItem); // Add the single item to the array
res.status(201).json({ message: 'Item added successfully', item: newItem });
} else {
res.status(400).json({ message: 'Invalid item format' });
}
});
// GET endpoint to retrieve all items from the in-memory array
app.get('/items', (req, res) => {
res.status(200).json(items);
});
// Start the server
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
Przykład 2
const express = require('express');
const app = express();
const PORT = 80;
// Middleware do parsowania JSON i danych URL-encoded
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// Prosty endpoint powitalny
app.get('/', (req, res) => {
res.send('Hello World');
});
// Endpointy do wysyłania plików HTML
app.get('/GET', (req, res) => res.sendFile(__dirname + "/GET.html"));
app.get('/POST', (req, res) => res.sendFile(__dirname + "/POST.html"));
// Obsługa zapytania GET z parametrami w URL
app.get('/process_get', (req, res) => {
const response = {
first_name: req.query.first_name,
last_name: req.query.last_name
};
console.log("GET: "+ response);
console.log(response);
res.json(response);
});
// Obsługa zapytania POST z danymi w treści zapytania
app.post('/process_post', (req, res) => {
const response = {
first_name: req.body.first_name,
last_name: req.body.last_name
};
console.log("POST: "+response);
console.log(response);
res.json(response);
});
// Obsługa zapytania PUT do aktualizacji użytkownika
app.put('/user/:id', (req, res) => {
const response = {
id: req.params.id,
first_name: req.body.first_name,
last_name: req.body.last_name
};
console.log("Zaktualizowano użytkownika:", response);
res.json(response);
});
// Uruchomienie serwera
app.listen(PORT, () => {
console.log(`Express App running at http://127.0.0.1:${PORT}/`);
});
(CMD) Przykładowe zapytania:
// GET request curl -X GET http://localhost:3000/items
// POST request : curl -X POST http://localhost:3000/items -H "Content-Type: application/json" -d "{ \"name\": \"Apple\", \"quantity\": 10, \"price\": 0.5 }"
