python - A better way to accept multiple request types in a single view method? -


i'm trying expose api various request methods (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     ... 

the above appears verbose. there simpler or better way of writing this? thanks.

does better? bit cleaner in opinion, if can accept moving json post request different route (which should anyway).

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) 

Comments

Popular posts from this blog

How to mention the localhost in android -

php - Calling a template part from a post -

c# - String.format() DateTime With Arabic culture -