728x90
반응형

Python에서 RestAPI 사용
Python에서 RestAPI를 사용하는 방법은 requests 모듈을 사용하는것이다.
requests를 사용하면 RestAPI의 메서드들을 사용할 수 있다.
- GET
import requests
# GET 요청
response = requests.get('https://api.example.com/users')
if response.status_code == 200:
data = response.json() # JSON 형식의 응답 데이터를 파이썬 객체로 변환
print(data)
else:
print('Error:', response.status_code)
- POST
import requests
# POST 요청
payload = {'username': 'john', 'password': 'secretpassword'}
response = requests.post('https://api.example.com/login', data=payload)
if response.status_code == 200:
data = response.json()
print(data)
else:
print('Error:', response.status_code)
- PUT
import requests
# PUT 요청
payload = {'name': 'John Doe'}
response = requests.put('https://api.example.com/users/123', json=payload)
if response.status_code == 200:
print('User updated successfully')
else:
print('Error:', response.status_code)
- DELETE
import requests
# DELETE 요청
response = requests.delete('https://api.example.com/users/123')
if response.status_code == 200:
print('User deleted successfully')
else:
print('Error:', response.status_code)
JSONPlaceholder - Free Fake REST API
{JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB. Tested with XV. Serving ~2 billion requests each month.
jsonplaceholder.typicode.com
위 사이트는 RestAPI를 연습할 수 있는 사이트이다.
위 사이트를 사용해 RestAPI를 사용해 요청을 처리해볼 수 있다.
예시
import requests
import json
payload = {'userId':1,'id':1}
# 데이터 가져오기 get
response = requests.get('https://jsonplaceholder.typicode.com/posts',params=payload)
# userId가 1이고 id가 1인 값 가져오기
if response.status_code == 200: # 성공
print(response)
data = response.json()
print(data,end='\n\n')
else : # 실패
print('Error',response.status_code)
# 데이터 전송 post
json_file = json.dumps({'userId':100,'id':102,'title':'Hello World','body':'0304180705010309'})
# 첫번쨰 자리 : 생성하고싶은 파일의 이름
# 두번째 자리 : 파일 내용
# 세번째 자리 : 컨텐츠 타입
f = {'file': ('txt.json',
json_file)}
# 파일 업로드
response = requests.post('https://jsonplaceholder.typicode.com/posts',
files=f)
if response.status_code == 201: # 성공
print(response)
data = response.json()
print(data,end='\n\n')
else : # 실패
print('Error',response.status_code)

728x90
반응형
'코딩테스트' 카테고리의 다른 글
[RestAPI] JSON (0) | 2023.05.18 |
---|---|
[RestAPI] 개요 (0) | 2023.05.18 |