flask-restful:连接到sql server db时如何解析参数?

时间:2015-10-13 05:55:47

标签: python flask flask-restful

我想使用python flask创建REST API。所以我随时都这样做:

本地主机/客户?cust_country = USA

我想从每个人都来自美国的“客户”表中获取每一行。

这是我到目前为止的剧本:

<section id="myAnchor">
</section>

我收到了这个错误:

  

C:\ Users \ x&gt; curl 127.0.0.1:5000/customers?cust_country=USA 404 Not   找不到

找不到

找不到请求的网址   服务器。如果您手动输入了URL,请检查您的   拼写然后再试一次。

======================

第2部分:发送多个参数:

from flask import Flask, request
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from flask_restful import reqparse

e = create_engine("mssql+pyodbc://....")

app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()
parser.add_argument('cust_country', type = 'string')

class Dep(Resource):
    def get(self):
        conn = e.connect()
        args = parser.parse_args()
        query = conn.execute("select * from customers where cust_country = ?", [args['cust_country']])
        print(query)
        return {'custid': [i[0] for i in query.cursor.fetchall()]}

api.add_resource(Dep, '/customers')

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

这就是我在卷曲中使用的内容:

  

卷曲“127.0.0.1:5000/customers?cust_country=USA&cust_name=Wascals”

1 个答案:

答案 0 :(得分:2)

您可能遇到的一个错误是使用 parser.add_argument('cust_country', type = 'string')这是错误的。

应为parser.add_argument('cust_country', type = str)

另外我建议使用app.run(debug=True),因为它可以帮助您调试简单的错误。