pythonを使ってRESTful APIを作成する方法

Python では、Flask이나Django といったフレームワークを利用してRESTfulインターフェースを作成できます. 以下に、Flask を使用してRESTfulインターフェースを作成する例を示します:

1. Flaskのインストール:ターミナルで次のコマンドを実行します。

pip install flask

2. app.py という名前の Python ファイルを作成し、そこに次のコードを書いてください。

from flask import Flask, jsonify, request

app = Flask(__name__)

# 创建一个示例数据
data = [
    {'id': 1, 'name': 'John'},
    {'id': 2, 'name': 'Jane'},
    {'id': 3, 'name': 'Alice'}
]

# 获取所有数据
@app.route('/data', methods=['GET'])
def get_data():
    return jsonify(data)

# 获取单个数据
@app.route('/data/<int:data_id>', methods=['GET'])
def get_single_data(data_id):
    single_data = [d for d in data if d['id'] == data_id]
    return jsonify(single_data)

# 创建数据
@app.route('/data', methods=['POST'])
def create_data():
    new_data = {'id': request.json['id'], 'name': request.json['name']}
    data.append(new_data)
    return jsonify(new_data), 201

# 更新数据
@app.route('/data/<int:data_id>', methods=['PUT'])
def update_data(data_id):
    single_data = [d for d in data if d['id'] == data_id]
    single_data[0]['name'] = request.json['name']
    return jsonify(single_data[0])

# 删除数据
@app.route('/data/<int:data_id>', methods=['DELETE'])
def delete_data(data_id):
    single_data = [d for d in data if d['id'] == data_id]
    data.remove(single_data[0])
    return jsonify({'result': True})

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

ターミナルで次のコマンドを実行してアプリケーションを起動する:

python app.py

POST、GET、PUT および DELETE 要求を使用してデータを操作することができるようになりました。たとえば、curl コマンドを使用するとインターフェイスをテストできます。

curl -X GET http://localhost:5000/data
curl -X GET http://localhost:5000/data/1
curl -X POST -H "Content-Type: application/json" -d '{"id": 4, "name": "Bob"}' http://localhost:5000/data
curl -X PUT -H "Content-Type: application/json" -d '{"name": "Updated name"}' http://localhost:5000/data/1
curl -X DELETE http://localhost:5000/data/1

これらの例は、Flaskを使用して簡単なRESTfulインターフェイスを作成する方法を示しています。必要に応じて、コードを変更して、より多くのルートと機能を追加できます。

bannerAds