Generovať fiktívny JSON dataset

generuje N JSON záznamov zodpovedajúcich jednoduchej schéme, z Fakeru (locale fr_FR alebo en_US)

Na čo slúžia falošné dáta?

Potreba sa vracia vo všetkých fázach vývojového cyklu. Pre demo potrebujeme plausibilných užívateľov, nie orezaný Lorem Ipsum. Pre integračné testy chceme reprodukovateľný, ale rozmanitý dataset. Pre pre-production izolovanú od GDPR nahrádzame skutočné dáta falošnými ekvivalentmi. Pre UI maketu treba populovať tabuľky vierohodnými záznamami. Generátor falošných dát pokrýva tieto prípady produkciou JSON záznamov v súlade s jednoduchou schémou.

Formát schémy

Schéma je JSON objekt, kde každý kľúč je názov produkovaného poľa a hodnota je Faker typ. Napríklad:

{
  "name": "name",
  "email": "email",
  "age": "number 18-65",
  "active": "boolean",
  "registered_on": "date"
}

Nástroj potom generuje N záznamov rešpektujúcich túto schému, vo vybranej locale (francúzština alebo angličtina). Výsledok je JSON pole použiteľné priamo ako fixture, ako body API požiadavky, alebo ako vstup database seeder.

Podporované typy

  • name: kompletné meno ("Marie Dupont").
  • firstName / lastName: krstné meno a priezvisko oddelene.
  • email: falošná emailová adresa (používa safeEmail z Faker, ktorý produkuje rezervované domény example.com bez možnosti doručenia).
  • phone: telefónne číslo formátované podľa locale.
  • address: kompletná poštová adresa.
  • number: náhodné celé číslo medzi 0 a 1000 defaultne, alebo number a-b pre vlastný rozsah.
  • boolean: náhodné true alebo false.
  • date: dátum vo formáte ISO 8601 (YYYY-MM-DD).
  • uuid: UUID v4.
  • text: krátky lorem-ipsum odsek (~120 znakov).
  • string: tri náhodné slová.
  • url: falošné URL (https://example.org/...).

Akýkoľvek nerozpoznaný typ je zachovaný tak, ako je vo výsledku. Je to voľba: ak do schémy vložíte "role": "admin", každý záznam bude mať "role": "admin". To umožňuje miešať konštantné hodnoty a dynamické polia bez zmeny nástroja.

Voľba locale

Faker disponuje desiatkami locale. Nástroj exponuje dve najužitočnejšie vo frankofónnom kontexte:

  • fr_FR: francúzske mená, francúzske adresy, telefónne čísla francúzskeho formátu, lorem-ipsum vety v približnej francúzštine.
  • en_US: americké mená a adresy, telefónne čísla US formátu.

Pre koherenciu francúzskej demonštrácie zvoľte fr_FR. Pre test internacionalizácie miešajte oba behy alebo zvýšte počet records na získanie rozmanitosti pôvodov.

Prípady použitia

  • Test fixtures: generovať 50 užívateľov, vložiť ich do AliceBundle YAML súboru alebo seeder. Reprodukovateľné, keď fixujeme Faker seed, inak rozmanité.
  • UI makety: vyplniť React/Vue tabuľku plausibilnými dátami. Oveľa výrečnejšie ako prázdna tabuľka alebo foo / bar / baz.
  • Load testing: generovať objemný JSON payload pre test priepustnosti (k6, JMeter, Locust).
  • Komerčné demá: populovať demo inštanciu so záznamami, ktoré sa podobajú reálnym prípadom, ale neriskujú únik citlivých informácií.
  • Anonymizácia: nahradiť production export falošným ekvivalentom pred jeho zdieľaním so subdodávateľom alebo použitím v pre-production.

Zámerné limity

Aby zostal jednoduchý na použitie, nástroj nepodporuje vnorené schémy (pole, ktoré by samo bolo objektom alebo poľom objektov). Pre takéto potreby je lepšie napísať dedikovaný Faker skript, alebo skladať niekoľko za sebou idúcich volaní. Zámerný limit tiež zabraňuje absurdným kombináciám ("items": "name" s náhodnou kardinalitou), ktoré by robili nástroj menej predvídateľným.

Počet záznamov je obmedzený na 500. Nad tým sa očakáva, že testovacie prostredie generuje svoje fixtures dedikovaným kódom (Faker v CLI, Foundry, factory_bot, atď.). Webový nástroj je užitočný do niekoľko sto records; nad tým pamäť a doba odpovede obmedzujú zážitok.

Reprodukovateľnosť a bezpečnosť

Hodnoty sú produkované nedeterministickým PRNG: každé spustenie produkuje odlišné dáta. Pre testy, ktoré musia byť reprodukovateľné (CI), zachyťte výstup raz a commitnite ho. Pre skutočne citlivé dáta (production anonymizácia) majte na pamäti, že generovanie na strane verejného servera nie je správny kanál: preferujte lokálny skript, ktorý nikdy neopustí váš stroj.

Často kladené otázky

Sú generované emaily validné?

Formát je validný (RFC 5322), ale doména je example.com alebo ekvivalent rezervovaný IANA. Žiadny z týchto emailov nemôže prijať správu; je to zámerné na zabránenie náhodnému spamu na skutočné adresy.

Môžem získať rovnaký dataset niekoľkokrát?

Nie cez webové rozhranie: nástroj nefixuje seed. Pre striktnú reprodukovateľnosť skriptujte generovanie lokálne s Faker a fixným seedom ($faker->seed(1234);).

Ako generovať vnorený objekt?

Nástroj podporuje iba plochú schému. Pre vnorené post-spracujte výstup skriptom alebo napíšte priamo zodpovedajúci Faker kód.

Prečo sú všetky moje čísla medzi 0 a 1000?

Je to defaultný rozsah. Upresnite rozsah: "age": "number 18-65", "price": "number 1-9999", atď.

Aké sú jeho väzby na ďalšie nástroje stránky?

Pre UUID v množstve viď generátor UUID. Pre heslá generátor hesiel. Pre text generátor textu. Mock data generator je transverzálny nástroj, ktorý kombinuje niekoľko z týchto generácií.

Ukážka požiadavky

curl -X POST https://cdrn.fr/api/v1/tools/mock-data-generator/execute \
  -H "Content-Type: application/json" \
  -d '{"schema":"{\"name\": \"name\", \"email\": \"email\", \"age\": \"number 18-65\"}","count":5,"locale":"fr_FR"}'

Vstupná schéma

Pole Typ Povinné Predvolené
schema text {"name": "name", "email": "email", "age": "number 18-65"}
count integer 5
locale choice (fr_FR, en_US) fr_FR

Koncové body

  • GET https://cdrn.fr/api/v1/tools - vypíše všetky dostupné nástroje
  • GET https://cdrn.fr/api/v1/tools/mock-data-generator - získa schému tohto nástroja
  • POST https://cdrn.fr/api/v1/tools/mock-data-generator/execute - spustí tento nástroj s JSON payloadom