Faker 사용해서 회원 목록 반환하기

가짜 회원 정보 반환하기

만들고자 하는 것

DB 연동 전 회원 정보를 반환하는 API

회원 가입 기능을 만들고 실제 DB 정보를 반환해도 되지만 그럼 규모가 커지기 때문에 우선 가짜 정보지만 반환하고 화면에서 사용할 수 있도록 하면 더 수월한 작업이 가능하다. 이렇게 우선 만들어 놓고 화면과 연동하며 필요 정보를 더 구체화하고 시나리오에 따라서 분명 추가적인 개발이 필요하기 때문이다. 가짜 데이터를 사용하면 전체적인 그림을 빠르게 볼 수 있단느 장점이 있다.

로직 구상

Faker 라이브러리를 사용하여 가짜 회원 정보를 반환하는 API 를 만들어보자.

API 만들기

반환하고자하는 데이터 포멧

{
  "users": [
    {
      "user_id": ...,
      "name": ...,
      "email": ...,
      "image_url": ...,
      "register_date": ...
    }
  ]
}

코드 작성

Faker 를 설치한다.

pip install Faker

Faker 를 사용할 수 있도록 import 한다.

from faker import Faker
fake = Faker()

/api/user/list 로 접근 시 100명의 가짜 회원 정보가 반환되도록 한다.

@app.get('/api/user/list')
async def user_list():
    return {
        'users': [{
            'user_id': fake.uuid4(),
            'name': fake.name(),
            'email': fake.email(),
            'image_url': fake.image_url(),
            'register_date': fake.date_time_this_month(),
        } for _ in range(100)]
    }

결과 확인

/docs 로 접근하여 확인한다.

일부 데이터

{
  "users": [
    {
      "user_id": "5a236979-8c05-4fb6-a402-aaa4b78f5719",
      "name": "William White",
      "email": "christie12@example.com",
      "image_url": "https://dummyimage.com/488x71",
      "register_date": "2023-05-20T03:50:48"
    },
    {
      "user_id": "92a8152b-6889-4fc9-b89a-57956fa5103a",
      "name": "Kevin Smith",
      "email": "iharrington@example.com",
      "image_url": "https://dummyimage.com/450x830",
      "register_date": "2023-05-04T23:09:51"
    }
    
    ...
    
    ]
}

6-1.png

6-2.png


제출 마감 시간 구하기
GCP 에 MySQL 만들기
NCloud LB & SourcePipeline 구축하기
tech collection 서비스 성능 개선하기
Selenium 복권 구매 자동화 만들어보기
디자인 패턴
책 리뷰
블로그 챌린지