프로젝트/API활용
[faker API] 랜덤 데이터 생성 API
thinktank911
2025. 10. 30. 00:26
랜덤 데이터 API 알아보기
<랜덤데이터 API 사용해보기>
- 개요
: 랜덤 데이터 생성해주는 API(외부 API)를 기반으로 "가짜 사용자 정보 생성" API - 내용
1) 랜덤 데이터 생성 API (가짜 사용자, 가짜 상품, 가짜 전화번호 등등)
2) 가짜 사용자 정보를 생성하는 Express 웹/앱 API - 랜덤 데이터 생성 API
- faker : https://fakerjs.dev/api/
- mockaroo : https://www.mockaroo.com/
- 둘 중 faker 선택함 ➡️ npm 에서 제공함 : @faker-js/faker
faker 간단하게 사용해보기
- 설치
npm install --save-dev @faker-js/faker
➡️ -save-dev : 개발할 때만 사용하겠다. 운영x
➡️ 개발 의존성
가짜 사용자 생성 API 구현
- faker.internet.email() : faker(API 모듈).internet(범주).email(사용할 함수)
➡️사이트 매뉴얼 참고 : https://fakerjs.dev/api/internet.html#email
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 사용