Python—Flask與前端互動資料
阿新 • • 發佈:2018-11-22
與Flask-RESTful建立基本的RESTful API
我將討論如何使用Flask框架構建基本的RESTful API。在開始之前,我們將安裝Flask RESTful庫。在本例中,不會使用任何資料庫。但是你可以用你自己的。我將展示如何使用Flask建立Rest API
windows 安裝
pip install flask-restful
** 現在,我們安裝了flask-restful圖書館。我們需要建立一個名為main.py的檔案。其名稱可以是任何東西。我們將首先進口瓶和其flask_restful圖書館。**
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
- After that, we will create a simple class. It will like this:
class Quotes(Resource):
def get(self):
return {
'ataturk': {
'quote': ['Yurtta sulh, cihanda sulh.' ,
'Egemenlik verilmez, alınır.',
'Hayatta en hakiki mürşit ilimdir.']
},
'linus': {
'quote': ['Talk is cheap. Show me the code.']
}
}
- 在這個例子中,我們使用靜態資料。就像我說的你可以使用自己的資料庫。現在我們需要將這個類作為資源新增到包裝器API庫。
api.add_resource(Quotes, '/')
最後,我們的程式碼是這樣的:
# -*- coding: utf-8 -*-
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
class Quotes(Resource):
def get(self):
return {
'ataturk': {
'quote': ['Yurtta sulh, cihanda sulh.',
'Egemenlik verilmez, alınır.',
'Hayatta en hakiki mürşit ilimdir.']
},
'linus': {
'quote': ['Talk is cheap. Show me the code.']
}
}
api.add_resource(Quotes, '/')
if __name__ == '__main__':
app.run(debug=True)
在上面的程式碼中,我們為HTTP get請求建立了一個名為get的方法。我們和郵遞員試過了
- 當你試著未實現的HTTP請求您將會看到一個警告訊息是這樣的:
{
"message": "The method is not allowed for the requested URL."
}
你想為這個類使用post請求。您必須建立一個名為柱的方法。讓我們建立post方法HTTP post請求。首先,我們需要進口reqparse。所以,我們的匯入語句將會改變像下圖:
from flask import Flask
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
讓我們建立一個方法來更新資源。我們的put方法將是這樣的
def put(self, id):
parser.add_argument('quote', type=str)
args = parser.parse_args()
return {
'id': id,
'status': True,
'quote': 'The quote numbered {} was updated.'.format(id)
}
- 在那之後,我們需要改變我們的資源如下:
api.add_resource(Quotes, '/', '/update/<int:id>')
出處[https://dev.to/aligoren/building-basic-restful-api-with-flask-restful-57oh]
歡迎使用CSDN,進入[夏枯草]的部落格園,有技術上的問題請加QQ:307440205