1. 程式人生 > >flask框架,RESTful API的請求及返回引數探索

flask框架,RESTful API的請求及返回引數探索

先提一下RESTful API設計原則
GET 用來獲取資源
POST 用來新建資源(也可以用於更新資源)
PUT 用來更新資源
DELETE 用來刪除資源

在一個註冊到RESTful API的物件中,可以通過特定的成員函式來匹配對應的http請求方法,程式碼如下:

class User(Resource):
    def get(self):
        result = [1,2,3,4]
        userid = request.args.get('userid')  // get方法時可以直接獲取請求引數
        return result, 200

    def post(self):
        json_data = request.get_json(force=True)
        return json_data, 200

    def put(self):
        return {"method":"update"}, 200

    def delete(self):
        return {"method":"delte"}, 200

1、User物件內部的成員函式各自對應的http不同的請求方法(GET、POST、PUT、DELETE)的實現路由,如果類未實現,那麼針對對應的請求方法,restful會返回報錯“The method is not allowed for the requested URL”

2、成員函式可以直接返回json物件,restful會幫你把結果直接返回給請求方,也可以返回set,如[1,2,3,4]之類。

3、get請求時,舉例請求 http://127.0.0.1:9000/user/?userid=12345,那麼在user的get方法中,可以通過request.args.get方法來獲取請求引數(見上述示例程式碼)

4、post方法時,建議請求引數為json,可以直接通過request.json獲取請求引數,舉例請求:

curl 'http://127.0.0.1:9000/user' -d '{"cmd":"test","userid":12345}',根據上述程式碼,則會返回

{
    "cmd":"test",
    "fund_key":12345
}
注意:請求的json字串,其key必須帶上雙引號",且json字串中不允許出現單引號。