Generovat fiktivní JSON dataset

generuje N JSON záznamů odpovídajících jednoduchému schématu, z Fakeru (locale fr_FR nebo en_US)

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á safeEmail z Faker, který produkuje rezervované domény example.com bez 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-b pro vlastní rozsah.
  • boolean: náhodné true nebo false.
  • 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ástroje
  • GET https://cdrn.fr/api/v1/tools/mock-data-generator - získá schéma tohoto nástroje
  • POST https://cdrn.fr/api/v1/tools/mock-data-generator/execute - spustí tento nástroj s JSON payloadem