Falcon學習筆記4——Json客戶端數據驗證

第三單是get,put,post方法的混用,相當簡單,不用單獨記錄。直接記錄第4章。

import json, falcon

class ObjRequestClass:
    def __json_validate_input(self, req):
        try:
            self.__json_content = json.loads(req.stream.read())
            print("json from client is validated:)")
            return True
        except Exception as e:
            self.__json_content = {}
            print("數據驗證失敗,請重新檢查:(")
            return False

    def on_get(self, req, resp):
        va = self.__json_validate_input(req)
        output = {
            "status": "200",
            "msg": None
        }
        if va == True:
            resp.status = falcon.HTTP_200
            output['msg'] = "hello {}".format(self.__json_content['name'])

        else:
            resp.status = falcon.HTTP_500
            output['status'] = 404
            output['msg'] = "數據驗證失敗,請重新檢查"

        resp.body = json.dumps(output)

api = falcon.API()
api.add_route('/test', ObjRequestClass())

首先定義個驗證方法“__json_validate_input”,然後調用一下就行了,也是相當簡單。有一個重點req.stream.read(),讀取一次就會清空,經過嘗試,print後也會清空,所以此處需要賦值變量引用。

運行後,通過insomnia或postman等工具,傳遞下不同數據,驗證結果即可。

原視頻地址:https://www.pnk.sh/python-falcon-part-4-how-to-validated-json-input-from-your-client

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章