프로젝트/API활용

[faker API] 랜덤 데이터 생성 API

thinktank911 2025. 10. 30. 00:26

랜덤 데이터 API 알아보기

<랜덤데이터 API 사용해보기>

  • 개요
    : 랜덤 데이터 생성해주는 API(외부 API)를 기반으로 "가짜 사용자 정보 생성" API
  • 내용
    1) 랜덤 데이터 생성 API (가짜 사용자, 가짜 상품, 가짜 전화번호 등등)
    2) 가짜 사용자 정보를 생성하는 Express 웹/앱 API
  • 랜덤 데이터 생성 API

faker 간단하게 사용해보기

  • 설치
    npm install --save-dev @faker-js/faker
    ➡️ -save-dev : 개발할 때만 사용하겠다. 운영x
    ➡️ 개발 의존성

가짜 사용자 생성 API 구현

const express = require('express');
const app = express();

const { faker } = require('@faker-js/faker');

app.listen(5555);

// localhost:5555/fake/users
// 한명의 사용자 정보 생성
// email, password, fullName, contact
app.get('/fake/users', (req, res)=> {
    res.status(200).json({
        email : faker.internet.email(),
        password : faker.internet.password(),
        fullName : faker.person.fullName(),
        contact : faker.phone.number()
    })
});

 

가짜 사용자 생성 API 구현 - 생성할 사용자 수 request로 받아와 생성

  • 두 가지 방법이 있다. 하나는 req 수만큼 반복문을 돌려서 배열을 만들어주는 것
  • 두번째는 faker 모듈 중 하나인 helpers.multiple을 사용하는 것
  • rep.params는 정해진 id를 가져올 때 사용하므로 변하는 사용자 수를 받기에는 적절하지 않다.
    ➡️req.query로 구현
// 1)
app.get('/fake/users/', (req, res)=> {
    let {num} = req.query;
   
    let idx = 1;
    let users = [];
    while(idx<=num){
       
        users.push({
            email : faker.internet.email(),
            password : faker.internet.password(),
            fullName : faker.person.fullName(),
            contact : faker.phone.number()
        });
        idx++;
    }

    res.status(200).json(users);
});

첫번째 방식 : 반복문

// 2)
app.get('/fake/users/:num', (req, res)=> {
    // let {num} = req.params;
    let {num} = req.query;
    num = parseInt(num);
    const createRandomUser = () => {
        return {
            email : faker.internet.email(),
            password : faker.internet.password(),
            fullName : faker.person.fullName(),
            contact : faker.phone.number()
        }
    };

    const users = faker.helpers.multiple(createRandomUser,{
        count: num
    });

    res.status(200).json(users);
});

두번째 방식 : faker.helpers.multiple 사용