[Python] REST API 실습

전보·2020년 5월 17일
0

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개의 댓글