flask框架,RESTful API的請求及返回引數探索
阿新 • • 發佈:2019-02-16
先提一下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字串中不允許出現單引號。