Generovat fiktivní JSON dataset
- Dashboard
- Dokumentace
- API
K čemu slouží falešná data?
Potřeba se vrací ve všech fázích vývojového cyklu. Pro demo potřebujeme plausibilní uživatele, ne ořezaný Lorem Ipsum. Pro integrační testy chceme reprodukovatelný, ale rozmanitý dataset. Pro pre-production izolovanou od GDPR nahrazujeme reálná data falešnými ekvivalenty. Pro UI maketu je třeba populovat tabulky věrohodnými záznamy. Generátor falešných dat pokrývá tyto případy produkcí JSON záznamů odpovídajících jednoduchému schématu.
Formát schématu
Schéma je JSON objekt, kde každý klíč je název produkovaného pole a hodnota je Faker typ. Například:
{
"name": "name",
"email": "email",
"age": "number 18-65",
"active": "boolean",
"registered_on": "date"
}
Nástroj pak generuje N záznamů respektujících toto schéma, ve vybrané locale (francouzština nebo angličtina). Výsledek je JSON pole použitelné přímo jako fixture, jako body API požadavku, nebo jako vstup database seeder.
Podporované typy
- name: kompletní jméno ("Marie Dupont").
- firstName / lastName: křestní jméno a příjmení odděleně.
- email: falešná emailová adresa (používá
safeEmailz Faker, který produkuje rezervované doményexample.combez možnosti doručení). - phone: telefonní číslo formátované podle locale.
- address: kompletní poštovní adresa.
- number: náhodné celé číslo mezi 0 a 1000 defaultně, nebo
number a-bpro vlastní rozsah. - boolean: náhodné
truenebofalse. - date: datum ve formátu ISO 8601 (
YYYY-MM-DD). - uuid: UUID v4.
- text: krátký lorem-ipsum odstavec (~120 znaků).
- string: tři náhodná slova.
- url: falešné URL (
https://example.org/...).
Jakýkoli nerozpoznaný typ je zachován tak, jak je ve výsledku. Je to volba: pokud do schématu vložíte
"role": "admin", každý záznam bude mít "role": "admin". To
umožňuje míchat konstantní hodnoty a dynamická pole bez změny nástroje.
Volba locale
Faker disponuje desítkami locale. Nástroj exponuje dvě nejužitečnější ve frankofonním kontextu:
- fr_FR: francouzská jména, francouzské adresy, telefonní čísla francouzského formátu, lorem-ipsum věty v přibližné francouzštině.
- en_US: americká jména a adresy, telefonní čísla US formátu.
Pro koherenci francouzské demonstrace zvolte fr_FR. Pro test
internacionalizace míchejte obě spuštění nebo zvyšte počet records pro získání
rozmanitosti původů.
Případy použití
- Test fixtures: generovat 50 uživatelů, vložit je do AliceBundle YAML souboru nebo seeder. Reprodukovatelné, když fixujeme Faker seed, jinak rozmanité.
- UI makety: vyplnit React/Vue tabulku plausibilními daty. Mnohem
výmluvnější než prázdná tabulka nebo
foo / bar / baz. - Load testing: generovat objemný JSON payload pro test propustnosti (k6, JMeter, Locust).
- Komerční dema: populovat demo instanci se záznamy, které se podobají reálným případům, ale neriskují únik citlivých informací.
- Anonymizace: nahradit production export falešným ekvivalentem před jeho sdílením se subdodavatelem nebo použitím v pre-production.
Záměrné limity
Aby zůstal jednoduchý k použití, nástroj nepodporuje vnořená schémata (pole, které by samo bylo
objektem nebo polem objektů). Pro takové potřeby je lepší napsat dedikovaný Faker skript, nebo
skládat několik po sobě jdoucích volání. Záměrný limit také zabraňuje absurdním kombinacím
("items": "name" s náhodnou kardinalitou), které by činily nástroj méně předvídatelným.
Počet záznamů je omezen na 500. Nad tím se očekává, že testovací prostředí generuje své fixtures dedikovaným kódem (Faker v CLI, Foundry, factory_bot, atd.). Webový nástroj je užitečný do několika stovek records; nad tím paměť a doba odpovědi omezují zážitek.
Reprodukovatelnost a bezpečnost
Hodnoty jsou produkovány nedeterministickým PRNG: každé spuštění produkuje odlišná data. Pro testy, které musí být reprodukovatelné (CI), zachyťte výstup jednou a commitujte ho. Pro skutečně citlivá data (production anonymizace) mějte na paměti, že generování na straně veřejného serveru není správný kanál: preferujte lokální skript, který nikdy neopustí váš stroj.
Často kladené otázky
Jsou generované emaily validní?
Formát je validní (RFC 5322), ale doména je example.com nebo ekvivalent rezervovaný
IANA. Žádný z těchto emailů nemůže přijmout zprávu; je to záměrné pro zabránění náhodnému spamu
na reálné adresy.
Mohu získat stejný dataset několikrát?
Ne přes webové rozhraní: nástroj nefixuje seed. Pro striktní reprodukovatelnost skriptujte
generování lokálně s Faker a fixním seedem ($faker->seed(1234);).
Jak generovat vnořený objekt?
Nástroj podporuje pouze ploché schéma. Pro vnořené post-zpracujte výstup skriptem nebo napište přímo odpovídající Faker kód.
Proč jsou všechna moje čísla mezi 0 a 1000?
Je to defaultní rozsah. Upřesněte rozsah: "age": "number 18-65",
"price": "number 1-9999", atd.
Jaké jsou jeho vazby na další nástroje stránky?
Pro UUID v množství viz generátor UUID. Pro hesla generátor hesel. Pro text generátor textu. Mock data generator je transverzální nástroj, který kombinuje několik z těchto generací.
Ukázka požadavku
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é | Výchozí |
|---|---|---|---|
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šechny dostupné nástrojeGET https://cdrn.fr/api/v1/tools/mock-data-generator- získá schéma tohoto nástrojePOST https://cdrn.fr/api/v1/tools/mock-data-generator/execute- spustí tento nástroj s JSON payloadem