DJango 서버개발, Postman을 사용한 API 테스트 및 문서화

저자: 당신의 이름

작성일: 2023년 10월

1. 서론

Django는 파이썬으로 작성된 고급 웹 프레임워크로, 웹 애플리케이션을 빠르게 개발할 수 있는 강력한 도구입니다. 본 강좌에서는 Django를 이용해 간단한 RESTful API를 만들고, Postman을 사용해 이 API를 테스트 및 문서화하는 방법을 다룹니다.

2. Django 환경 설정

시스템에 Django를 설치하려면 아래 명령어를 터미널에 입력하세요:

pip install django

새로운 Django 프로젝트를 생성하고 실행해 봅시다:

django-admin startproject myproject
cd myproject
python manage.py runserver

위 명령어를 통해 웹 서버가 실행됩니다. 기본적으로 http://127.0.0.1:8000에서 접근할 수 있습니다.

3. Django REST Framework 설치

RESTful API를 쉽게 구축하기 위해 Django REST Framework를 설치합니다:

pip install djangorestframework

설치 후, 프로젝트의 설정 파일인 settings.py에 Django REST Framework를 추가해야 합니다:

INSTALLED_APPS = [
    ...
    'rest_framework',
]

4. Django 모델 생성

이제 간단한 데이터를 저장할 모델을 생성해 보겠습니다. app이라는 새 Django 애플리케이션을 생성합니다:

python manage.py startapp app

그 후, models.py 파일에 내용을 추가하여 모델을 정의합니다:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

위 코드는 포스트(title, content, created_at 속성을 가지는)을 정의합니다.

5. 데이터베이스 설정 및 마이그레이션

이제 Django의 설정 파일에서 데이터베이스를 설정합니다. 기본적으로 Django는 SQLite를 사용합니다. 다음 명령어를 통해 마이그레이션을 실행하여 모델에 맞는 테이블을 생성합니다:

python manage.py makemigrations
python manage.py migrate

6. Django 뷰 및 직렬화기 설정

다음으로 API를 통해 데이터에 접근할 수 있도록 뷰와 직렬화기를 설정합니다. app/serializers.py 파일을 생성하고 아래와 같은 내용을 추가합니다:

from rest_framework import serializers
from .models import Post

class PostSerializer(serializers.ModelSerializer):
    class Meta:
        model = Post
        fields = '__all__'

그 후, views.py 파일을 수정하여 API 엔드포인트를 추가합니다:

from rest_framework import viewsets
from .models import Post
from .serializers import PostSerializer

class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer

7. URL 라우팅 설정

이제 API가 요청을 받을 수 있도록 URL을 설정해야 합니다. 프로젝트의 urls.py 파일을 수정하여 다음과 같이 내용을 추가합니다:

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from app.views import PostViewSet

router = DefaultRouter()
router.register(r'posts', PostViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

이제 GET, POST, PUT, DELETE 요청을 통해 포스트에 접근할 수 있습니다.

8. 서버 실행 및 API 접근

서버를 다시 실행합니다:

python manage.py runserver

이제 http://127.0.0.1:8000/posts/에 접속하여 API를 사용할 수 있습니다.

9. Postman을 이용한 API 테스트

Postman을 설치하고 실행한 후, 아래 단계를 통해 API를 테스트합니다:

  • GET 요청: 새로 생성한 API 엔드포인트인 /posts/로 GET 요청을 보내어 데이터 목록을 확인합니다.
  • POST 요청: 새 포스트를 생성하기 위해 /posts/로 POST 요청을 보내며, 요청 본문에 JSON 형식으로 데이터를 포함합니다.
  • {
        "title": "새 포스트",
        "content": "포스트 내용입니다."
    }
  • PUT 요청: 특정 포스트를 수정하려면 /posts/{id}/로 PUT 요청을 보내며, 수정할 데이터를 JSON 형식으로 포함합니다.
  • DELETE 요청: 특정 포스트를 삭제하려면 /posts/{id}/로 DELETE 요청을 보냅니다.

10. Postman을 사용한 문서화

Postman에서는 API를 문서화하는 기능을 제공합니다. 아래 단계에 따라 API 문서를 만들 수 있습니다:

  1. Postman에서 요청을 생성하고, 요청 이름 및 설명을 추가합니다.
  2. 테스트를 위해 제공한 요청 본문의 예시 및 응답 예시를 추가합니다.
  3. 모든 요청을 그룹화하고, 각 요청에 대한 설명을 추가하여 API를 명확하게 문서화합니다.
  4. 최종적으로 Postman Workspaces 기능을 이용해 팀원들과 공유 가능하며, 이를 통해 API를 일관되게 사용할 수 있도록 합니다.

11. 마무리

이번 강좌를 통해 Django를 사용하여 API를 구축하고, Postman을 통해 이 API를 테스트 및 문서화하는 방법을 학습했습니다. Django와 Postman의 결합은 웹 애플리케이션 개발 시 매우 유용하며, 효율적인 작업을 가능하게 합니다.

감사합니다. 추가적인 질문이 있으시면 댓글로 남겨주세요.