Úvod
Jsme agilní! Ve většině našich projektů jsme požádáni, abychom vyvíjeli uživatelská rozhraní souběžně s back-end službami a API. To nám dává výzvu implementovat a testovat uživatelská rozhraní bez skutečné a reálné dostupnosti dat. Nejen to, jak je to s API? Lze to zfalšovat tak, že,
- Uživatelská rozhraní lze integrovat s rozhraními REST API v první den?
- Tato rozhraní API poskytují body interakce téměř podobné tomu, co by bylo se skutečnými daty?
- Volání mohou probíhat po drátě, takže máme pocit, že získáváme data ze vzdáleného serveru (který napodobuje skutečný případ použití)
- Lze to udělat za pár minut?
U většiny projektů, kde se méně starám o pravdivost dat, ale na zbytku záleží, bych rád použil kombinaci těchto:
Faker.js
Faker.js nám pomáhá vytvářet obrovské množství falešných dat v reálném čase. Přestože jsou data falešná, stále můžete sestavit data s požadovaným typem a strukturou, se kterou lze uživatelská rozhraní brzy otestovat.
Má různé metody, jak poskytovat data týkající se adresy, financí, obchodu, data atd.
Server JSON
Server JSON nám pomáhá získat plně falešné REST API s nulovým kódováním za méně než minutu ! Je to šíleně pravda. Krása je v tom, že používá soubor JSON jako úložiště dat, které lze snadno vytvořit pomocí Faker.js .
Výloha:Rychlé kroky
Protože jsme dostali úvod do obou Faker.js na vysoké úrovni a Server JSON , uvidíme, jak se spojí, aby rychleji vyřešili problém s daty a prototypem API.
Vytvoření projektu uzlu
- Vytvořte adresář s názvem dle vlastního výběru. řekněme json-faker-server .
- Přejděte do adresáře json-faker-server .
- Proveďte
npm init
- Odpovězte na otázky a vytvořte projekt uzlu. Nyní musíte mít soubor s názvem
package.json
vytvořeno.
Instalační závislosti
- Nainstalujte Faker.js
npm install faker --save
- Nainstalujte server JSON
npm install json-server --save
Vytvořte databázi
Budeme vytvářet databázi (db.json) pomocí Faker.js .
- Vytvořte soubor s názvem
index.js
v kořenovém adresáři složky. - Vytvářejte falešná data podle svých potřeb. V následujícím příkladu jsem ukázal, jak vytvořit
user
data s vlastnostmi mi dávají smysl.
const faker = require('faker');
let database = { users: []};
const threshold = 1000;
for (let i = 1; i<= threshold; i++) {
database.users.push({
id: i,
name: faker.name.firstName() + " " + faker.name.lastName(),
job: faker.name.jobTitle(),
about: faker.lorem.paragraph(),
phone: faker.phone.phoneNumber(),
userName: faker.internet.userName(),
email: faker.internet.email(),
salary: "$" + faker.finance.amount() + "M",
// You can also use faker.image.people() for image
image: "https://source.unsplash.com/1600x900/?user",
country: faker.address.country()
});
}
console.log(JSON.stringify(database));
- Ve skriptech z
package.json
přidejte toto,
"generate": "node ./index.js > ./db.json",
- Nyní můžete vygenerovat 1000 uživatelských záznamů (v db.json) pouhým spuštěním tohoto:
npm run generate
Vytvoření serveru a rozhraní API
- Tento krok je mnohem jednodušší. Ve skriptech z
package.json
přidejte toto,
"server": "json-server --watch ./db.json"
- Nyní můžete server spustit pomocí,
npm run server
Uvidíte, že server běží na výchozím portu (3000). Rozhraní API bude dostupné @ localhost:3000/users
Funkce API
Toto jsou koncové body API, které budeme moci používat prostřednictvím serveru JSON REST API:
- ZÍSKEJTE /users pro získání uživatelů
- GET /users/ pro získání jednoho uživatele podle ID
- POST /users pro vytvoření nového uživatele
- PUT /users/ pro aktualizaci uživatele podle id
- PATCH /users/ pro částečnou aktualizaci uživatele podle id
- DELETE /users/ pro smazání uživatele podle id
K získání stránkovaných dat můžeme použít i parametry _page a _limit. To není vše, existují možnosti vyhledávání, třídění, dělení atd., aniž byste museli psát jediný řádek kódu. Další podrobnosti naleznete zde.
Odkazy a zdroje
- Existují způsoby, jak nasadit a hostit
JSON Server
na Heroku, Now, Azure atd. Zde je skvělé čtení o tom, jak na to. Nasadil jsemusers
API na Heroku . Tady je:json-faker-server.herokuapp.com/users - Vše o Faker.js naleznete zde.
- Přečtěte si o Serveru JSON odtud.
- Všechny příklady kódu v tomto příspěvku na blogu lze nalézt v mém projektu GITHub.
Doufám, že se vám to líbilo. To je prozatím vše.