Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Deklaracja używania express.js
- const express = require('express');
- const app = express();
- app.use(express.json());
- // Ustawienie co sie wyswietli na stronie glownej http://url.com/
- app.get('/', (req,res) => {
- res.send("Witaj swiecie!");
- });
- // Ustawienie wyswietlania pod adresem http://url.com/app/lista
- app.get('/app/lista', (req, res) => {
- res.send([1,2,3,4]);
- });
- // Mozemy uzywać zmiennych środowiskowych do ustalenia na jakim porcie się otworzy serwer, ale jest ryzyko że nie ma takiej zmiennek, dlatego zabezpieczamy domyślnym 3000
- const port = process.env.PORT || 3000;
- // Aplikacja oczekuje na porcie ze zmiennej środowiskowej lub 3000
- app.listen(port, () => console.log(`Oczekuje na porcie ${port}`));
- // Lista do wyświetlania na stronie
- const lista = [
- {
- id:1,
- nazwa: 'ALFA ROMEO'
- },
- {
- id:2,
- nazwa: 'AUDI'
- },
- {
- id:3,
- nazwa: 'BMW'
- },
- {
- id:4,
- nazwa: 'CITROEN'
- },
- ];
- // Wyświetlanie listy
- app.get('/app/listaAut', (req, res) => {
- res.send(lista);
- });
- //Dzięki ':rok' mozemy podac w adresie jakis argument
- app.get('/app/:rok/:miesiac', (req, res) => {
- res.send([req.params]); // res.send([req.query]);
- });
- // Dodajemy możliwość wyświetlania konkretnych aut po id (wpisując w adresie :nazwa mówimy tak jakby że to będzie zmienny argument)
- app.get('/app/listaAut/:id', (req, res) => {
- // Najpierw sprawdzamy czy taki element w ogóle istnieje. Parsujemy na int, ponieważ to id, a wszystko co nam przychodzi z adresu to string
- let element = lista.find(l=> l.id === parseInt(req.params.id));
- // Jesli nie odnaleziono to wywalamy 404 z komunikatem
- if(!element) {
- res.status(404).send('Element o takim ID nie zostal znaleziony');
- } else {
- res.send(element);
- }
- });
- // Tworzymy metodę post, dzięki której będziemy mogli przesyłać np. obiekty JSON
- app.post('api/lista', (req, res) => {
- // Prosta weryfikacja czy jest cos takiego jak nazwa w body i czy ma >=3 znaki
- if(!req.body.nazwa || req.body.nazwa.length < 3) {
- res.status(404).send('Nazwa jest wymagana i musi miec minimum 3 znaki');
- return;
- }
- // Fabrykujemy wysylanego przez POST JSONa
- let element = {
- id: lista.length + 1,
- nazwa: req.body.nazwa
- };
- // Push na liste i przeslanie
- lista.push(element);
- res.send(element);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement