Nep JSON-data genereren
- Dashboard
- Documentatie
- API
Waarvoor dienen mock-gegevens?
De behoefte komt terug in alle fasen van de ontwikkelingscyclus. Voor een demo heeft men plausibele gebruikers nodig, geen afgekapte Lorem Ipsum. Voor integratietests wil men een reproduceerbare maar gevarieerde dataset. Voor een pre-productieomgeving geïsoleerd van AVG vervangt men de echte gegevens door mock-equivalenten. Voor een UI-mockup moet men tabellen vullen met geloofwaardige entries. De mock data generator dekt deze gevallen door JSON-records te produceren die voldoen aan een eenvoudig schema.
Het schema-formaat
Het schema is een JSON-object waarbij elke sleutel de naam is van het geproduceerde veld en de waarde een Faker-type is. Bijvoorbeeld:
{
"name": "name",
"email": "email",
"age": "number 18-65",
"active": "boolean",
"registered_on": "date"
}
De tool genereert vervolgens N records die voldoen aan dit schema, in de gekozen locale (Frans of Engels). Het resultaat is een JSON-array die direct bruikbaar is als fixture, als body van een API-aanvraag, of als input van een database-seeder.
Ondersteunde typen
- name: volledige naam ("Marie Dupont").
- firstName / lastName: voornaam en achternaam afzonderlijk.
- email: mock e-mailadres (gebruikt
safeEmailvan Faker, dat gereserveerdeexample.com-domeinen produceert die niet bereikbaar zijn). - phone: telefoonnummer opgemaakt naar de locale.
- address: volledig postadres.
- number: willekeurig geheel getal tussen 0 en 1000 standaard, of
number a-bvoor een aangepast bereik. - boolean:
trueoffalsewillekeurig. - date: datum in ISO 8601-formaat (
YYYY-MM-DD). - uuid: UUID v4.
- text: korte lorem-ipsumeske paragraaf (~120 tekens).
- string: drie willekeurige woorden.
- url: mock-URL (
https://example.org/...).
Elk niet-herkend type wordt zo bewaard in het resultaat. Het is een keuze: als u
"role": "admin" in het schema plaatst, heeft elke record "role": "admin". Dat
maakt het mogelijk om constante waarden en dynamische velden te mengen zonder van tool te wisselen.
Keuze van de locale
Faker beschikt over tientallen locales. De tool stelt de twee meest nuttige bloot in een Franstalige context:
- fr_FR: Franse namen, Franse adressen, telefoonnummers in Frans formaat, lorem-ipsum-zinnen in benaderend Frans.
- en_US: Amerikaanse namen en adressen, telefoonnummers in US-formaat.
Voor demonstratieconsistentie aan Franstalige kant, kies fr_FR. Voor een
internationalisatietest, meng beide uitvoeringen of verhoog het aantal records om
een verscheidenheid aan oorsprongen te hebben.
Gebruiksgevallen
- Testfixtures: 50 gebruikers genereren, deze plakken in een YAML-bestand van AliceBundle of een seeder. Reproduceerbaar wanneer men een Faker-seed vastlegt, anders gevarieerd.
- UI-mockups: een React/Vue-tabel vullen met plausibele gegevens. Veel
sprekender dan een lege tabel of dan
foo / bar / baz. - Load testing: een omvangrijke JSON-payload genereren voor een doorvoertest (k6, JMeter, Locust).
- Commerciële demo's: een demo-instantie vullen met entries die op echte gevallen lijken maar geen risico lopen om gevoelige informatie te lekken.
- Anonimisering: een productie-export vervangen door een mock-equivalent voor het delen met een onderaannemer of het gebruik in pre-productie.
Bewuste beperkingen
Om eenvoudig te blijven om te gebruiken, ondersteunt de tool geen geneste schema's (een veld dat zelf
een object of een array van objecten zou zijn). Voor dergelijke behoeften kunt u beter een speciaal Faker-script schrijven, of
meerdere opeenvolgende oproepen samenstellen. De bewuste limiet vermijdt ook absurde combinaties
("items": "name" met een willekeurige cardinaliteit) die de tool minder voorspelbaar zouden maken.
Het aantal records is beperkt tot 500. Daarboven verwacht men van een testomgeving dat deze zijn fixtures genereert via toegewijde code (Faker in CLI, Foundry, factory_bot, enz.). De webtool is nuttig tot enkele honderden records; daarboven plafonneren het geheugen en de responstijd de ervaring.
Reproduceerbaarheid en beveiliging
De waarden worden geproduceerd met een niet-deterministische PRNG: elke uitvoering produceert verschillende gegevens. Voor tests die reproduceerbaar moeten zijn (CI), leg de uitvoer eenmaal vast en commit deze. Voor werkelijk gevoelige gegevens (productie-anonimisering), houd in gedachten dat generatie aan publieke serverkant niet het juiste kanaal is: verkies een lokaal script dat nooit uw werkstation verlaat.
Veelgestelde vragen
Zijn de gegenereerde e-mails geldig?
Het formaat is geldig (RFC 5322), maar het domein is example.com of een equivalent gereserveerd
door IANA. Geen van deze e-mails kan berichten ontvangen; dat is bewust om accidentele
spam op echte adressen te voorkomen.
Kan ik dezelfde dataset meerdere keren krijgen?
Niet via de webinterface: de tool legt geen seed vast. Voor strikte reproduceerbaarheid, scripteer de
generatie lokaal met Faker en een vaste seed ($faker->seed(1234);).
Hoe genereer ik een genest object?
De tool ondersteunt alleen een plat schema. Voor nesting, post-process de uitvoer met een script of schrijf direct de overeenkomstige Faker-code.
Waarom liggen mijn getallen allemaal tussen 0 en 1000?
Dat is het standaardbereik. Specificeer een bereik: "age": "number 18-65",
"price": "number 1-9999", enz.
Wat zijn de verbanden met andere tools van de site?
Voor UUID's in grote aantallen, zie de UUID-generator. Voor wachtwoorden, de wachtwoordgenerator. Voor tekst, de tekstgenerator. De mock data generator is de transversale tool die meerdere van deze generaties combineert.
Voorbeeldverzoek
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"}'
Invoerschema
| Veld | Type | Vereist | Standaard |
|---|---|---|---|
schema |
text | ✓ | {"name": "name", "email": "email", "age": "number 18-65"} |
count |
integer | ✓ | 5 |
locale |
choice (fr_FR, en_US) | ✓ | fr_FR |
Endpoints
GET https://cdrn.fr/api/v1/tools- toont alle beschikbare toolsGET https://cdrn.fr/api/v1/tools/mock-data-generator- geeft het schema van deze tool terugPOST https://cdrn.fr/api/v1/tools/mock-data-generator/execute- voert deze tool uit met een JSON-payload