Menu
CoddyTech

API란 무엇인가

Coddy Django 여정의 JSON API 섹션에 포함된 레슨. 19개 중 1번째.

지금까지 작성한 뷰는 사람들이 읽을 페이지를 반환합니다. API(애플리케이션 프로그래밍 인터페이스)는 프로그램을 위한 데이터를 반환합니다. 휴대폰 앱, 스크립트 또는 페이지의 JavaScript가 URL을 요청하면 HTML 대신 데이터를 받습니다.

이 데이터는 보통 JSON입니다. 큰따옴표를 사용하고, Python의 True, False, None 대신 true, false, null을 사용하는, Python 딕셔너리와 리스트처럼 보이는 텍스트입니다.

{"title": "Buy milk", "done": false, "due": null}

Django는 JsonResponse를 사용해 딕셔너리를 JSON 응답으로 변환합니다.

from django.http import JsonResponse


def hello(request):
    return JsonResponse({"message": "Hi", "ready": True})

JSON을 작성하고 Content-Type 헤더를 application/json으로 설정합니다. 헤더는 응답과 함께 전송되는 정보 한 줄입니다. 이 헤더는 프로그램에 어떤 종류의 데이터를 받았는지 알려 줍니다.

challenge icon

챌린지

쉬움

작업 추적기에 첫 번째 엔드포인트를 추가하세요:

  • total(작업 수)와 done(완료한 작업 수)을 담은 JSON으로 응답하는 뷰 stats.
  • stats라는 이름의 경로 "api/stats/".

실행을 누른 다음 /api/stats/를 여세요. 다음이 표시됩니다: {"total": 3, "done": 1}.

직접 해보기

from django.shortcuts import render

from .models import Task


def home(request):
    return render(request, "tasks/home.html", {"tasks": Task.objects.all()})

JSON API의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드