< Node.js

HAI szerver

Szerző: Sallai András

Copyright © 2023, Sallai András

Licenc: CC BY-SA 4.0

Web: https://szit.hu

A hai-server

A hai-server egy hamis REST API szerver (fejlesztői szerver), ami JSON fájlt használ tárolásra. Képes token alapú azonosításra, útválasztásra.

Webhely:

https://github.com/sumn2u/hai-server (2023)

https://www.npmjs.com/package/hai-server (2023)

Telepítés

Telepítés globálisan:

npm install --global hai-server

Telepítés csak az adott projekt számára:

npm install --save-dev hai-server

Példaadatbázis

{ "employees": [ { "id": 1, "name": "Lant Géza", "city": "Szeged", "salary": 342 }, { "id": 2, "name": "Erős István", "city": "Szolnok", "salary": 327 } ] }

A hai-server indítása, ha db.json fájlban vannak az adatok:

hai-server --watch db.json --port 8000

Hozzáférés korlátozása

Az egyes útvonalak védhetők azonosítással. Azonosítás után kapunk egy tokent, ami szükséges a védett útvonalak esetén vissza kell küldeni.

{ "secretKey": "123456789", "expiresIn": "1h", "users": [ { "id": 1, "name": "geza", "email": "geza@zold.lan", "password": "titok" }, { "id": 2, "name": "mari", "email": "mari@zold.lan", "password": "titok" } ], "authenticationURL": "/auth/login", "authenticatedURL": [ "/employees" ] }

Indítás

Ha azonosítás is szükséges, használjuk a --auth kapcsolót.

hai-server --watch db.json --auth auth.json --port 8000

Azonosítás menete

Azonosításhoz POST metódus szükséges az /auth/login végponton.

POST http://localhost:8000/auth/login

Azonosításhoz szükséges küldeni:

{ "email": "mari@zold.lan", "password":"titok" }

A korlátozott hozzáférés

Egy védett útvonal azonosításához a kérés fejlécében a következő formában kell a tokent visszaküldeni:

Authorization: Bearer <token>

Beállítások

Néhány kapcsoló:

--port 8000 -p 8000	Port beállítása 8000-re
--watch -w	Ha más folyamat írja az adatbázisfájlt, újratölti a szerver a változásokat.
--routes -r	Útválasztó fájl útvonala
--auth -a	Azonosítás fájl útvonala

Konfigurációs fájl

A hai-server alapértelmezetten olvassa a projekt gyökérkönyvtárában a hai-config.json fájt, mint konfigurációs fájlt. Itt most néhány példát látunk a beállításokra.

{ "port": 8000, "watch": true }

Azonosítás és routnggal együtt:

{ "port": 8000, "watch": true, "auth": "auth.json", "routes": "routes.json" }

Az indítás ekkor:

hai-server database.json

Routing

Routingfájl:

{ "/api/*": "/$1" }

Java programok

Java programok, mostanában a localhostot csak IPv6-on érik el:

http://[::1]:8000/employees