1. 程式人生 > >Flask-RESTful介面開發學習筆記一:實現簡單的GET請求

Flask-RESTful介面開發學習筆記一:實現簡單的GET請求

1、首先安裝需要依賴的第三方包:

  (1):Flask

  (2):Flask-RESTful

如何安裝就不在囉嗦,pip也好,下載到本地再安裝也好,看你隨意。

2、我們先實現GET請求。

Q:什麼是GET請求。

A:簡單來說,GET請求,就是根據傳過來的引數條件,來獲取服務端的資料資訊,不會改變服務端的資料。更直接的,GET請求,拼成連結直接瀏覽器就可以訪問。

3、接下來實現我們的GET請求。

  (1):首先導包,並例項化對像:

from flask import Flask, jsonify
from flask.ext.restful import reqparse, Api, Resource

app = Flask(__name__)
app.debug = True
api = Api(app)

  (2):模擬建立一些我們需要的資料。

students = {
    1: {'name': 'lily', 'age': '22'},
    2: {'name': 'jerry', 'age': '23'},
    3: {'name': 'joe', 'age': '34'}
}

  (3):接下來建立parser對像,解釋一下:它是提供簡單並且統一的訪問 Flask 中flask.request 物件裡的任何變數的入口

parser = reqparse.RequestParser()
parser.add_argument('id', type=int, required=True, help='ID不能為空。')

  上面第二行程式碼解釋一下:他是給我們的ID加上了一些限制條件,type是型別,required是指他不能為空,help是如果出現了限制條件之外的,則返回這個提示。

  (4):請求方法:

class get_stu(Resource):
    def get(self):
        data= parser.parse_args()
        id = data.get('id')
        if id == 0:
            return jsonify(students)
        if id > max(students.keys()):
            return jsonify({'msg': 'ID超出範圍'})
        return jsonify(students.get(id))

  請求的類需要繼承Resource,定義一個get的方法,則是指get請求,data是去獲取前端傳過來的資料,為什麼用這樣的方式獲取,前文已經說明。我們這裡定義了,如果id為0,則返回所有的學習,如果id超過了範圍,則給與相應的提示。如果id為某學生id,則返回該學生的資訊。

  (5):新增路徑與執行:

api.add_resource(get_stu, '/get/stu/')

if __name__ == '__main__':
    app.run(host='192.168.1.154', port=1234)

  直接執行,就可以查實現我們的GET獲取資料的功能了。

  上幾張成功的圖。