2016-06-21 31 views
0

我正在使用Flask和Flask-Restful創建一個RESTful API,並且遇到了PUT請求和參數的問題。我有一個包含JSON文件:將未聲明的參數保留爲默認值

{ 
    "checked": 1465628401, 
    "number": 21600, 
} 

當用戶發送"/api/v1/status?checked=10"它改變了檢查值像它應該,但設置爲null。我想知道是否有一種方法,我可以擁有它,以便如果用戶不指定該參數,它保持爲當前值。

現在,我定義我RequestParser像:

parser = reqparse.RequestParser() 

並添加每個參數,如:

parser_status.add_argument('checked', type=int) 
parser_status.add_argument('number', type=int) 

所以我的問題是,有沒有辦法爲默認每個JSON鑰匙留爲它的當前值,除非參數在PUT請求中出現?

該文檔狀態:另請注意:在您的請求解析器中聲明但未在請求中設置的參數本身將默認爲無。林想知道是否有辦法改變這種默認。

回答

0

您可以添加默認值的documentation

Argument類和因此add_argument函數接受default關鍵字參數,其本身確實默認爲None

因此,使用這樣的:

parser_status.add_argument("checked", type=int, default=MY_DEFAULT_VALUE)