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:
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
{ "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
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" ] }
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á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" }
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>
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 |
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
Routingfájl:
{ "/api/*": "/$1" }
Java programok, mostanában a localhostot csak IPv6-on érik el:
http://[::1]:8000/employees