D. Using 'status' keyword argument in return is invalid
Solution
Step 1: Check return statement syntax
Flask does not accept 'status' keyword in return statement directly.
Step 2: Correct way is to return tuple (body, status_code)
Use return "Oops", 499 instead of return "Oops", status=499.
Final Answer:
Using 'status' keyword argument in return is invalid -> Option D
Quick Check:
Return tuple (body, code) not keyword args [OK]
Hint: Return tuple (body, code), not keyword args [OK]
Common Mistakes:
Using status=code in return instead of tuple
Assuming Flask auto-detects status from keywords
Confusing with Response object parameters
5. You want to create a Flask route that returns a JSON message with a custom status code 460 only if a query parameter 'valid' is 'no'. Otherwise, return status 200 with a success message. Which code correctly implements this?
hard
A. from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/check')
def check():
if request.args.get('valid') == 'no':
return jsonify(error="Invalid", status=460)
return jsonify(message="OK")
B. from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/check')
def check():
if request.args.get('valid') == 'no':
return jsonify(error="Invalid"), 460
return jsonify(message="OK"), 200
C. from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/check')
def check():
if request.args.get('valid') == 'no':
return jsonify(error="Invalid").status_code = 460
return jsonify(message="OK")
D. from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/check')
def check():
if request.args.get('valid') == 'no':
return jsonify(error="Invalid")
return jsonify(message="OK"), 200
Solution
Step 1: Check conditional logic for query parameter
Use request.args.get('valid') to check if it equals 'no'.
Step 2: Return JSON with custom status code 460 if invalid
Return (jsonify(...), 460) tuple to set custom status code correctly.
Step 3: Return success JSON with status 200 otherwise
Return (jsonify(...), 200) tuple for success response.
Final Answer:
Correct conditional returns with tuples for custom and normal codes -> Option B
Quick Check:
Return (jsonify, code) tuples for all cases [OK]
Hint: Return (jsonify(...), code) tuples for all responses [OK]
Common Mistakes:
Passing status inside jsonify arguments
Trying to set status_code attribute directly
Missing status code tuple on error response
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.