Python如何绑定自定义端点FlaskRestfu

2024-10-04 03:20:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用python+flaskrestful创建我的第一个API,当我调用一个自定义端点时,遇到了一个错误。在

例如,我有下面的代码:

from app import db, app
from app import manager
from datetime import datetime
from flask import jsonify

class Climate(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.DateTime)
    rainfall = db.Column(db.Integer)
    temperature = db.Column(db.Integer)

    def predict():
        predictValue = Climate.query.filter_by(date=datetime.now().date())
        return predictValue

db.create_all()
manager.create_api(Climate, methods=['POST', 'GET', 'PUT', 'DELETE'])

当我开始跑步的时候运行.py然后执行GET请求->;http://localhost:8080/api/climate它返回给我以下内容:

^{pr2}$

所以没关系。但我想做一个自定义端点。例如,如果我调用http://localhost:8080/api/climate/predict,我想调用Climate类中的predict()方法,只返回一个绑定请求日期的项,但当我执行此请求时,它只返回

{}

不管怎么说?谢谢。在


Tags: fromimportapiappdbdatetimedatecreate
1条回答
网友
1楼 · 发布于 2024-10-04 03:20:14

解决了。在

# endpoint to predict
@app.route("/climate/predict", methods=["GET"])
def climate():
    climate = Climate.query.filter_by(date=datetime.now().date()).first()
    if climate is not None:
        return jsonify(serializeClimate(climate))
    else:
        abort(404)

github上的所有代码:https://github.com/danielnicolay321/ParetoTest/blob/master/crud.py

相关问题 更多 >