【发布时间】:2020-01-08 20:01:51
【问题描述】:
我正在使用Flask 编写我的 Python API。此 API 仅接受 1 个名为 questionID 的参数。我希望它接受名为lastDate 的第二个参数。我试图四处寻找如何添加这个参数,但找不到一个好的方法来做到这一点。我当前的代码如下所示:
from flask import Flask, request
from flask_restful import Resource, Api, reqparse
from sqlalchemy import create_engine
from json import dumps
from flask_jsonpify import jsonify
import psycopg2
from pandas import read_sql
connenction_string = "DB Credentials'";
app = Flask(__name__)
api = Api(app)
class GetUserAnswers(Resource):
def get(self, questionID):
conn = psycopg2.connect(connenction_string);
cursor = conn.cursor();
userAnswers = read_sql('''
select * from <tablename> where questionid = ''' + "'" + questionID + "' order by timesansweredincorrectly desc limit 15" +'''
''', con=conn)
conn.commit();
conn.close();
result = {}
for index, row in userAnswers.iterrows():
result[index] = dict(row)
return jsonify(result)
api.add_resource(GetUserAnswers, '/GetUserAnswers/<questionID>')
if __name__ == '__main__':
app.run(port='5002')
问题 1: 我猜我可以接受 get 定义中的第二个参数。如果不是这样,我应该如何接受第二个参数?
问题2:如何修改api.add_resource()调用以接受第二个参数?
问题3:我目前使用http://localhost:5002/GetUserAnswers/<some question ID>从浏览器调用这个API。如果使用第二个参数,这个调用会如何变化?
我以前从未开发过 API,因此非常感谢任何帮助。
【问题讨论】:
-
这能回答你的问题吗? Multiple parameters in in Flask approute
标签: python api flask flask-sqlalchemy