본문 바로가기

코딩테스트

[RestAPI] Python에서 RestAPI 사용하기

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