在Python中对外提供API通常有以下几种方式:
1. 使用Flask框架:
from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/api', methods=['GET', 'POST'])def api():if request.method == 'GET':处理GET请求return jsonify({'message': 'GET request received'})elif request.method == 'POST':处理POST请求data = request.get_json()return jsonify({'message': 'POST request received', 'data': data})if __name__ == '__main__':app.run(debug=True, host='0.0.0.0', port=5000)
2. 使用FastAPI框架:
from fastapi import FastAPIapp = FastAPI()@app.get('/api')def api():return {"message": "Hello, World!"}@app.get('/api/items/{item_id}')def get_item(item_id: int):return {"item_id": item_id}@app.post('/api/items')def create_item(item: dict):return itemif __name__ == '__main__':import uvicornuvicorn.run(app, host='0.0.0.0', port=8000)

3. 使用Django框架:
from django.http import JsonResponsefrom django.views.decorators.csrf import csrf_exempt@csrf_exemptdef api(request):if request.method == 'GET':处理GET请求return JsonResponse({'message': 'GET request received'})elif request.method == 'POST':处理POST请求data = request.get_json()return JsonResponse({'message': 'POST request received', 'data': data})
4. 使用WSGI服务器(如Gunicorn或uWSGI):
from wsgiref.simple_server import make_serverdef application(environ, start_response):start_response('200 OK', [('Content-Type', 'text/html')])return [b"Hello, World!"]httpd = make_server('', 8000, application)print('serving http on port 8000...')httpd.serve_forever()
以上示例展示了如何使用不同的Python Web框架对外提供API接口。你可以根据自己的需求选择合适的框架,并根据框架的文档进行相应的配置和开发。
