第三單是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