본문 바로가기

RestfulAPI

Restful API MySQL PUT 요청을 처리하는 방법(수정하기)

PUT 요청을 처리하는 방법: MySQL Workbench, VSC 코드, POSTMAN 상호작용

PUT 요청을 처리하는 방법: MySQL Workbench, VSC 코드, POSTMAN 상호작용

웹 개발에서 클라이언트가 데이터를 업데이트할 때 주로 PUT 요청을 사용한다. 여기서는 PUT 요청을 받아서 MySQL 데이터베이스를 업데이트하는 방법을 설명한다. MySQL Workbench, Visual Studio Code (VSC), 그리고 POSTMAN을 사용한 상호작용을 예시로 들어보겠다.

1. MySQL Workbench에서 테이블 준비

먼저 MySQL Workbench에서 데이터베이스와 테이블을 준비해야 한다. 예를 들어, 사용자 정보를 저장하는 users 테이블을 생성해보자.


CREATE DATABASE mydatabase;

USE mydatabase;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(50),
    age INT
);
    

2. VSC에서 서버 코드 작성

이제 VSC에서 서버 코드를 작성한다. Flask를 사용하여 간단한 API를 만든다.


from flask import Flask, request, jsonify
import mysql.connector

app = Flask(__name__)

# 데이터베이스 연결 설정
db_config = {
    'user': 'root',
    'password': 'password',
    'host': '127.0.0.1',
    'database': 'mydatabase'
}

# 사용자 정보 업데이트
@app.route('/user/', methods=['PUT'])
def update_user(id):
    data = request.get_json()
    name = data.get('name')
    email = data.get('email')
    age = data.get('age')

    conn = mysql.connector.connect(**db_config)
    cursor = conn.cursor()
    query = "UPDATE users SET name = %s, email = %s, age = %s WHERE id = %s"
    cursor.execute(query, (name, email, age, id))
    conn.commit()
    cursor.close()
    conn.close()
    
    return jsonify({'message': 'User updated successfully'})

if __name__ == '__main__':
    app.run(debug=True)
    

3. POSTMAN에서 PUT 요청 보내기

이제 POSTMAN을 사용하여 PUT 요청을 보내보자. 다음과 같은 설정을 한다:

  • Method: PUT
  • URL: http://127.0.0.1:5000/user/1
  • Body: Raw, JSON 형식

{
    "name": "John Doe",
    "email": "john.doe@example.com",
    "age": 30
}
    

이제 Send 버튼을 클릭하여 요청을 보낸다.

4. 서버와 데이터베이스 상호작용

POSTMAN에서 보낸 요청은 서버 코드에 의해 처리되고, MySQL 데이터베이스의 users 테이블이 업데이트된다. 다음은 그 과정이다:

  • POSTMAN에서 PUT 요청을 보낸다.
  • Flask 서버가 요청을 받아 JSON 데이터를 파싱한다.
  • MySQL 커넥션을 열고, SQL 업데이트 쿼리를 실행한다.
  • 테이블의 해당 레코드가 업데이트된다.
  • 서버가 성공 메시지를 반환한다.

성공 메시지 예시:


{
    "message": "User updated successfully"
}
    

이로써 POSTMAN, VSC, MySQL Workbench 간의 상호작용을 통해 PUT 요청을 처리하고 데이터를 업데이트하는 방법을 살펴보았다.