Kitalált JSON adatkészlet generálása
- Irányítópult
- Dokumentáció
- API
Mire használják az áladatokat?
Az igény a fejlesztési ciklus minden szakaszában felmerül. A demóhoz felhasználókra van szükségünk hihető, nem csonka Lorem Ipsum. Az integrációs tesztekhez adatkészletet szeretnénk reprodukálható, de változatos. A GDPR-től elkülönített, gyártás előtti környezet esetében kicseréljük az adatokat valódi mesterséges megfelelőivel. UI modell esetén a táblákat bejegyzésekkel kell feltöltenie hiteles. A áladatgenerátor ezeket az eseteket előállítással fedi le Egy egyszerű sémának megfelelő JSON rekordok.
A diagram formátuma
A séma egy JSON-objektum, ahol minden kulcs az előállított mező neve, az érték pedig egy Faker típusú. által példa:
{
"név": "név",
"email": "e-mail",
"életkor": "18-65",
"active": "boolean",
"registered_on": "dátum"
}
Az eszköz ezután N felvételt generál ennek a sémának megfelelően, a kiválasztott nyelvterületen (francia vagy angol). Az eredmény egy JSON-tömb, amely közvetlenül fixtureként, egy kérés törzseként használható API-t, vagy bemenetként egy adatbázis-olvasóba.
Támogatott típusok
- név: teljes név („Marie Dupont”).
- firstName / lastName: az utó- és vezetéknév elválasztva.
- e-mail: hamis e-mail cím (a Faker
safeEmail-ját használja, amely fenntartott domainekexample.comnem érhetők el). - telefon: helyileg formázott telefonszám.
- cím: teljes postacím.
- szám: alapértelmezés szerint véletlenszerű egész szám 0 és 1000 között, vagy
a-bszemélyre szabott választék. - logikai:
igazvagyfalsevéletlenszerű. - dátum: dátum ISO 8601 formátumban (
ÉÉÉÉ-HH-NN). - uuid: UUID v4.
- szöveg: rövid lorem-ipsumesque bekezdés (kb. 120 karakter).
- karakterlánc: három véletlenszerű szó.
- url: ál-URL (
https://example.org/...).
A fel nem ismert típusok az eredményben maradnak. Ez egy választás: ha felteszed
"role": "admin" a sémában minden rekordhoz tartozik "role": "admin". Ezt
lehetővé teszi az állandó értékek és a dinamikus mezők keverését az eszközök megváltoztatása nélkül.
Helyválasztás
Fakernek több tucat telephelye van. Az eszköz kontextusban tárja fel a két leghasznosabbat franciául beszélő:
- fr_FR: francia nevek, francia címek, telefonszámok francia formátumban, lorem-ipsum mondatok hozzávetőleges franciául.
- hu_US: amerikai nevek és címek, telefonszámok amerikai formátumban.
A francia oldalon a bemutató konzisztenciája érdekében válassza a fr_FR lehetőséget. Egy tesztre
nemzetközivé, keverje össze a két végrehajtást, vagy növelje a rendelkezni kívánt rekordok számát
sokféle eredetű.
Használati esetek
- Tesztjavítások: hozzon létre 50 felhasználót, illessze be őket egy YAML-fájlba AliceBundle-ből vagy vetőgépből. Reprodukálható, ha beállít egy Faker-magot, máskülönben változtatható.
- UI-modellek: a React/Vue táblázat kitöltése elfogadható adatokkal. Nagyon sokat
értelmesebb, mint egy üres tömb vagy a
foo / bar / baz. - Tesztterhelés: generáljon nagy JSON-terhelést az átviteli teljesítményteszthez (k6, JMeter, Sáska).
- Kereskedelmi bemutatók: töltsön fel egy bemutatópéldányt olyan bemenetekkel valós esetekre hasonlítanak, de nem kockáztatják az érzékeny információk kiszivárgását.
- Anonimizálás: cserélje ki a termelési exportot egy fiktív megfelelővel korábban ossza meg egy alvállalkozóval, vagy használja fel az előgyártás során.
Önkéntes korlátok
Az egyszerű használat érdekében az eszköz nem támogatja a beágyazott sémákat (ez a mező maga is
objektum vagy objektumok tömbje). Ilyen igényekre érdemesebb dedikált Faker scriptet írni, ill
több egymást követő hívás tárcsázása. Az önkéntes határ az abszurd kombinációkat is elkerüli
("elemek": "név" véletlenszerű számossággal), ami kevésbé tervezhetővé tenné az eszközt.
A rekordok száma legfeljebb 500. Ezen túlmenően olyan környezetre számítunk tesztelje, hogy dedikált kódon keresztül hozza létre a fixtureit (Faker in CLI, Foundry, factory_bot stb.). A webes eszköz akár néhány száz rekordhoz is hasznos; ezen túlmenően a memória és a válaszidő platója tapasztalat.
Reprodukálhatóság és biztonság
Az értékeket nem determinisztikus PRNG-vel állítják elő: minden végrehajtás adatot termel különböző. A reprodukálhatónak (CI) szükséges teszteknél rögzítse a kimenetet egyszer és elkövetni. A valóban érzékeny adatok (gyártás anonimizálása) esetében ne feledje, hogy a A nyilvános szerveroldali generálás nem a megfelelő csatorna: részesítsen előnyben egy olyan helyi szkriptet, amely soha nem lép ki pozícióját.
Gyakran ismételt kérdések
Érvényesek a generált e-mailek?
A formátum érvényes (RFC 5322), de a domain example.com vagy azzal egyenértékű fenntartva
írta IANA. Ezen e-mailek egyike sem fogadhat üzeneteket; ez önkéntes a spam elkerülése érdekében
véletlenül valós címeken.
Lekérhetem többször ugyanazt az adatkészletet?
Nem a webes felületen keresztül: az eszköz nem állít be magot. A szigorú reprodukálhatóság érdekében írja le a
helyi generáció Fakerrel és fix maggal ($faker->seed(1234);).
Hogyan hozhatunk létre beágyazott objektumot?
Az eszköz csak egy lapos diagramot támogat. Beágyazott esetén a kimenet utófeldolgozása scripttel ill közvetlenül írja be a megfelelő Faker kódot.
Miért vannak a számaim 0 és 1000 között?
Ez az alapértelmezett tartomány. Adjon meg egy tartományt: "age": "number 18-65",
"price": "number 1-9999" stb.
Milyen linkek találhatók a webhelyen található egyéb eszközökhöz?
A mennyiségi UUID-kért tekintse meg az UUID-generátort. Mert jelszavak, a jelszógenerátor. Szöveghez, a szöveggenerátor. Az áladatgenerátor az eszköz transzverzális, amely több ilyen generációt egyesít.
Kérés példa
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"}'
Bemeneti séma
| Mező | Típus | Kötelező | Alapértelmezett |
|---|---|---|---|
schema |
text | ✓ | {"name": "name", "email": "email", "age": "number 18-65"} |
count |
integer | ✓ | 5 |
locale |
choice (fr_FR, en_US) | ✓ | fr_FR |
Végpontok
GET https://cdrn.fr/api/v1/tools- listázza az összes elérhető eszköztGET https://cdrn.fr/api/v1/tools/mock-data-generator- lekéri ezen eszköz sémájátPOST https://cdrn.fr/api/v1/tools/mock-data-generator/execute- végrehajtja ezen eszközt JSON payloaddal