PATCH Request 생성하기

Seunghoon Yoo·2024년 4월 3일
0
post-thumbnail

PATCH Method

  • 리소스를 수정할 때 주로 사용
  • 서버에 존재하는 정보를 변경하는 데 주로 사용 (ex. 유저 정보 변경)
  • 호출하여 서버의 상태 및 데이터를 변경할 수 있음

Postman에서 PATCH Request 생성

  • Postman에서 컬렉션 생성
  • 컬렉션에서 "더 보기 (...)" 메뉴를 클릭하고 Add request 메뉴를 클릭
  • 새로운 Request 가 생성되고, PATCH Method를 선택할 수 있게 됨

URL and Endpoint

  • URL + Endpoint 로 구성
    - URL : https://www.koreanjson.com
    - Endpoint = /users/1
    - URL + Endpoint = https://www.koreanjson.com/users/1
  • PATCH API 는 전반적인 유저를 모두 수정한다기 보다는, id=1 인 유저만 수정하는 방향성으로 진행
  • [PATCH] https://www.koreanjson.com/users 해당 API는 유저 정보를 수정 하는 API 임을 유추할 수 있음

Request Body

  • PATCH 메소드를 이용하여 API 를 호출하는 경우, 주로 Payload 라 불리는 클라이언트의 요청을 함께 전송하는 경우가 많음.
  • 사용자 수정 API 를 예시로 들었으므로, 보통 사용자 email이나 이름 등이 Payload 에 포함될 수 있음
  • Payload 에 포함되는 값들은 기존 정보에서 수정해야 할 값들로 요청함
  • Authorization 에서 사용자 토큰이 필요할 수도 있으나, 여기선 생략
  • 단순히 [PATCH] https://www.koreanjson.com/users API 를 호출하여, email과 이름만 유효성 검증을 거친 후 생성이 가능하다는 플로우로 단순하게 진행한다고 가정
  • 주로 Request Body는 json 포맷 형식으로 요청함

Script 를 사용하여 API 호출

  • Python Script 를 사용하여 API 호출하는 것도 가능
import requests
import json

base_url = "https://www.koreanjson.com"
endpoint = "/users/1"

# 사용자 정보를 수정하기 위한 데이터 예시
update_data = {
    "email": "test123@test.com",
    "name": "홍길동"
}

# JSON 형식으로 데이터를 전송하기 위해 headers에 'Content-Type'을 설정
headers = {
    "Content-Type": "application/json"
}

# PATCH 요청을 보내 사용자 정보 수정
response = requests.patch(url=base_url + endpoint.format(user_id=1), data=json.dumps(update_data), headers=headers)

# 응답 출력
print(f"status code : {response.status_code}")
print(response.json())  # JSON 응답 본문 출력
profile
QA Engineer

0개의 댓글