[Python] REST API 실습

전보·2020년 5월 17일

1. REST API

Python으로 REST API실습하기.

2. 내용

  1. REST API를 사용하기위한 requests 라이브러리 설치.
  2. http웹서버 간단히 만드는 방법 사이트소개.
  3. 실습

2.1 requests라이브러리 설치

>pip3 install requests

2.2 HTTP 웹서버 구축

쉽고 간단하게 웹서버 구축하기
https://jootc.com/p/201811262270

2.3 Json Server 구축

참고 : https://poiemaweb.com/json-server, https://poiemaweb.com/js-rest-api

npm을 설치할 때는 brew를 이용해서 install해야했다.

Homebrew설치
https://brew.sh/index_ko

Homebrew설치한 후
$brew install npm

3. 실습

https://poiemaweb.com/js-rest-api

3.1 GET

response = requests.get("URL")
변수명 = response.text


db.json

{
  "todos": [
    {
      "id": 1,
      "content": "HTML",
      "completed": true
    },
    {
      "id": 2,
      "content": "CSS",
      "completed": false
    },
    {
      "id": 3,
      "content": "Javascript",
      "completed": true
    }
  ],
  "users": [
    {
      "id": 1,
      "name": "Lee",
      "role": "developer"
    },
    {
      "id": 2,
      "name": "Kim",
      "role": "designer"
    }
  ]
}

restAPI.py

import requests
import json

url_items = "http://localhost:3000/todos/1"
response = requests.get(url_items)

print(response.text)
print(response.json()["content"])


실행결과


3.2 POST

response = requests.post("UPL", data = 송신할 데이터)

restAPI.py

import requests
import json

url_items = "http://localhost:3000/todos"
#response = requests.get(url_items)

newItem = {
    "id": 4,
    "content": "Python",
    "completed": True
    }
response = requests.post(url_items, data=newItem)

print(response.text)

실행결과


db.json

{
  "todos": [
    {
      "id": 1,
      "content": "HTML",
      "completed": true
    },
    {
      "id": 2,
      "content": "CSS",
      "completed": false
    },
    {
      "id": 3,
      "content": "Javascript",
      "completed": true
    },
    {
      "id": "4",
      "content": "Python",
      "completed": "True"
    }
  ],
  "users": [
    {
      "id": 1,
      "name": "Lee",
      "role": "developer"
    },
    {
      "id": 2,
      "name": "Kim",
      "role": "designer"
    }
  ]
}

데이터가 추가된 것을 볼 수 있다.
근데 파이썬에서는 전부 문자열로 데이터가 들어간다.. 왜인지 찾아보기

마무리

추가 할 내용

다른 실습내용
POST에서 문자열로만 들어가는 이유.

profile
엉망진창

0개의 댓글