我正在尝试向各种请求方法公开API(GET,url x-www-form-urlencoded POST和json POST):
@app.route('/create', methods=['GET', 'POST'])
def create_file():
if request.method == 'GET':
n = request.args.get('n')
t = request.args.get('t')
if request.method == 'POST':
if request.json:
n = request.json['n']
t = request.json['t']
else:
n = request.form['n']
t = request.form['t']
try:
n = int(n)
except:
n = 1
...
Run Code Online (Sandbox Code Playgroud)
以上看起来过于冗长.是否有更简单或更好的写作方式?谢谢.
Mig*_*uel 18
这看起来更好吗?在我看来,如果您可以接受将JSON POST请求移动到不同的路径(您真的应该这样做),我会更清洁一点.
def _create_file(n, t):
try:
n = int(n)
except:
n = 1
...
@app.route('/create')
def create_file():
n = request.args.get('n')
t = request.args.get('t')
return _create_file(n, t)
@app.route('/create', methods = ['POST'])
def create_file_form():
n = request.form.get('n')
t = request.form.get('t')
return _create_file(n, t)
@app.route('/api/create', methods = ['POST'])
def create_file_json():
if not request.json:
abort(400); # bad request
n = request.json.get('n')
t = request.json.get('t')
return _create_file(n, t)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10846 次 |
| 最近记录: |