Předstírání je dobré:Back-end Data a prototypování API s Faker.js a JSON-Server

Ú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 jsem users 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.