我正在嘗試使用GET,POST,PUT功能編寫API的Web控制器。 1.在處理請求的方法中,特別是POST和PUT,我想驗證請求主體中是否存在所需的鍵/字段。 2.我也想檢查請求頭中存在的授權密鑰並將未經授權的錯誤等作爲響應。如何在Python中驗證POST請求的json/xml正文
在python中是否有這樣做的優雅方式,寫入多個if...else
看起來不太優雅。
我有以下的代碼處理請求體:
from werkzeug.wrappers import BaseResponse as Response
.
.
.
root = ET.fromstring(data)
for child in root:
order_completed_date = child.find('Order_Completed_Date')
if order_completed_date is None:
#return json.loads({"status":"400", "message":"Order_Completed_Date is missing"})
return Response('Bad Request, Order_Complete_At missing', status=400)
else:
order_completed_date = order_completed_date.text
order_id = child.find('Order_Number')
if order_id is None:
return Response('Bad Request, Order_Number missing', status=400)
else:
order_id = order_id.text
product_id =child.find('SKU')
if product_id is None:
return Response("Bad request, SKU is missing", status=400)
else:
product_id = product_id.text
.
.
.
所以,我正在寫,如果其他每個字段
什麼是 「不優雅」 關於具有檢查鍵和檢查AUTH第二'if'語句中的'if'聲明? (另外,我不確定爲什麼你需要任何'else',如果你打算在失敗時引發異常。)也許如果你能向我們展示一些[最小示例代碼](http://stackoverflow.com/help/mcve)並解釋你不喜歡的內容,你可以得到更好的答案。 – abarnert 2014-12-13 05:17:32
@abarnert:謝謝你的迴應。我在請求體中有多個文件 - 17.因此,我必須爲每個字段編寫if語句並引發適當的響應。 – nish 2014-12-13 05:20:29
@abarnert:我更好地分享了一些代碼 – nish 2014-12-13 05:25:13