[Django] Rest API를 알아보자!

장서영·2022년 7월 24일

Django

목록 보기
2/16
post-thumbnail

개복치개발자 blog_장고(Django) Rest API 시리즈
chan chan 유튜브채널_Django Rest API 1~8


Rest API란?

  • API : Application Programming Interface
    소프트웨어 간에 지정된 형식으로 요청, 명령을 받을 수 있는 수단

  • REST API : RESTful한 형식의 API
    정보를 주고 받는 것에 있어서의 '형식'으로, SOAP이란 복잡한 형식을 대체함
    ⭐ 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청 모습 자체로 추론이 가능함

  • URI : 자원을 구조와 함께 나타내는 구분자

  • CRUD : Create - 생성 / Read - 조회 / Update - 수정 / Delete - 삭제
    서버에 요청을 보낼 때, HTTP란 규약에 따라 신호를 전송함
    REST API는, HTTP의 메소드로 GET, POST, DELETE, PUT/PATCH 사용

    출처 : www.youtube.com/watch?v=iOueE9AXDQQ

결국 REST API란,
HTTP 요청을 보낼 때 '어떤 URI'에 '어떤 메소드'를 사용할지 개발자들 사이에 널리 지켜지는 약속이다.


1. 강의 소개

Youtube 'chan chan' - Django Rest API

Django Rest API 1 ~ 8

'유튜브/장고(django) Rest API' 카테고리의 글 목록

2. 장고 프로젝트 생성

  • c/UDR/RestAPI_1 (pwd)

  • 파이참에서 django 프로젝트 생성 → test1

  • student 앱 생성

  • models.py에 학생들 정보를 작성

  • settings.py에 student 앱 추가

  • python manage.py makemigrations
    python manage.py migrate

  • 새로운 모델이 만들어진 것을 알려줌 (반영함)

  • 관리자 페이지(/admin)로 이동 후,
    • python manage.py createsuperuser → 관리자 계정 생성
  • admin.py에 student 추가

3. Django Rest API 만들기

  • pip install djangorestframework → djangorestframework 설치

  • rest_framework 앱 추가 (settings.py) ▶ 로컬 앱

  • api.py, serializers.py 생성

    • api.py : Rest API의 get/post/put/delete 기능들을 정의
    • serializers.py : 받아온 데이터를 보기 좋은 형태로 만들어 주는 역할. 즉, get에 대한 응답 값을 JSON의 형태로 된 데이터로 보냄
  • urls.py 추가

http://127.0.0.1:8000/api/student_list/ → ★ Student List 화면 출력에 오류 발생 (도저히 해결 되지 않음,,)

💡 아래 내용부터는 블로그에 포스팅 된 사진 첨부함. api/student_list/ 문제 해결 후, 직접 작성한 코드로 변경할 것

4. Django Rest API 생성(Post)

  • 게시글(코멘트) 생성하기

test1/student/api.py

  • 사용자가 댓글(코멘트) 형식으로 입력하면, JSON의 형태로 데이터가 저장됨

5. Django Rest API 업데이트(Put)

  • Student 개별적인 정보를 확인(get)하고, 수정(put)하기

1) GET

test1/test1/urls.py

test1/student/api.py

2) PUT

test1/student/api.py

test1/student/serializers.py

6. Django Rest API 삭제(Delete)

test1/student/api.py

7. Django Rest API Token AUTH 토큰 인증

  • 토큰(token)이라는 것을 통해서, 권한을 가진 사람만 접근할 수 있게 하는 것
  • api를 호출하는 사람들에게 인증 정보 여부를 확인함으로써, 승인된 사람들에게만 정보를 넘겨주는 방식

test1/test1/settings.py

8. Django Rest API Token 토큰 만들기

  • 회원 가입된 유저 정보를 기반으로, token을 받아오기

test1/test1/urls.py

test1/student/test.py

test1/test1/settings.py


<추가 자료>

1. REST API라는 개념을 큰 틀에서 이해하기 : 기계들의 대화법 - REST API

profile
하루살이 개발자

0개의 댓글