Skip to content

sprumin/django-rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Django-rest-api

Django ๋ฅผ ์ด์šฉํ•œ RESTFUL API ์ œ์ž‘

django-rest-framework ๋ฅผ ์‚ฌ์šฉํ•˜์ง€์•Š์€ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. Python3, Django 2.0 ์„ค์น˜๋˜์–ด์žˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

How to Use

  • Repository clone ๋ฐ DB migrate
    • git clone https://github.com/sprumin/django-rest-api.git
    • python manage.py makemigrations
    • python manage.py migrate
  • KEY ์ƒ์„ฑ/์กฐํšŒ/์‚ญ์ œ
    • python manage.py keymanager
    • ์ƒ์„ฑ : add ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ name ์ž…๋ ฅ
    • ์กฐํšŒ : show ๋ช…๋ น์–ด ์ž…๋ ฅ
    • ์‚ญ์ œ : delete ๋ช…๋ น์–ด ์ž…๋ ฅ ํ›„ name ์ž…๋ ฅ
    • ์ค‘์ง€ : exit ๋ช…๋ น์–ด ์ž…๋ ฅ or Ctrl + C
  • Django Server ์‹คํ–‰
    • python manage.py runserver

๊ธฐ๋ณธ์ ์ธ ์„ธํŒ…์€ ๋๋งˆ์ณค์œผ๋‹ˆ API๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋Š” Advanced REST Client ๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค. ( ๋˜๋Š” POSTMAN )

Request์‹œ header์— {"AUTHORIZATION": "your-api-key"} ๋ฅผ ์‚ฝ์ž…ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  • GET

    • http://127.0.0.1:8000/user
    • ํ˜„์žฌ DB์— ์ €์žฅ๋œ ์œ ์ €๋“ค์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค.
    • http://127.0.0.1:8000/user/N
    • DB์— ์ €์žฅ๋œ ์œ ์ €๋“ค์ค‘ idx๊ฐ€ N์ธ ์œ ์ €์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • POST

    • http://127.0.0.1:8000/user/

    • {
        "email": "your@email.com",
        "username": "your name",
        "info": "your info",
        "password1": "your password",
        "password2": "your password confirmation"
      }
    • ์œ„ ์–‘์‹์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด ์œ ์ €๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • PUT

    • http://127.0.0.1:8000/user/N

    • DB์— ์ €์žฅ๋œ ์œ ์ €๋“ค์ค‘ idx๊ฐ€ N์ธ ์œ ์ €์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

    • {
        "email": "your@email.com",
        "username": "your name",
        "info": "your info",
        "password1": "your password",
        "password2": "your password confirmation"
      }
    • ์œ„ ์–‘์‹์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด ์œ ์ €์˜ ์ •๋ณด๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

  • DELETE

    • http://127.0.0.1:8000/user/N

    • DB์— ์ €์žฅ๋œ ์œ ์ €๋“ค์ค‘ idx๊ฐ€ N์ธ ์œ ์ €์˜ ์ •๋ณด๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    • ์œ„ ์–‘์‹์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋ฉด ์œ ์ €์˜ ์ •๋ณด๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

TODO

  • ์†Œ์Šค ์™„์„ฑ ํ›„ ์ปค๋ฐ‹
  • API KEY ์ƒ์„ฑ/์กฐํšŒ/์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ๋ฐ API Request ์‹œ Key ๊ฒ€์‚ฌ
  • API KEY ์ธ์ฆํ‚ค ์ „์†ก ๋ฐฉ๋ฒ• body์—์„œ header๋กœ ๋ณ€๊ฒฝ
  • header์— authorization ์‚ฝ์ž… ํ›„ ์ „์†ก ์‹œ ์ผ์ • ํ™•๋ฅ ๋กœ 0 request error ๋œจ๋Š” ๋ฒ„๊ทธ ์ผ์‹œ์ ์ธ ๋ฒ„๊ทธ์˜€์Œ
  • API KEY ์ธ์ฆ decorator ์ž‘์„ฑ
  • Query ์ตœ์ ํ™”
  • DRF ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„

About

Django rest api. not used django-rest-framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages