Flask Invalid Status Argument when requesting from API

I’m having an issue where when I try to GET all restaurants through my api route.

Using http://localhost:5000/restaurant/

@restaurant.route('/', methods=['GET'])
def get_all_restaurants():
    """Get all restaurants"""

    try:
        restaurants = list(restaurants_collection.find())
    except Exception as e:
        return make_response({'message': f'something went wrong {e}'}, 400)

    return {'status': 200} , jsonify(restaurants)

I’m running into this error.

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1823, in full_dispatch_request
    return self.finalize_request(rv)
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1842, in finalize_request
    response = self.make_response(rv)
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 2184, in make_response
    rv.status_code = status
  File "/usr/local/lib/python3.8/site-packages/werkzeug/sansio/response.py", line 151, in status_code
    self.status = code  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/werkzeug/sansio/response.py", line 161, in status
    raise TypeError("Invalid status argument")
TypeError: Invalid status argument
 - - [04/Jan/2023 14:06:47] "GET /restaurant/ HTTP/1.1" 500 -

The part I don’t understand is that if there is some sort of error wouldn’t my Exception be getting it and returning it to me? I’m currently running this application using docker.

I’ve tried finding guidance for this online but couldn’t find anything regarding this error. Let me know if there is anything else I can provide you guys with.

>Solution :

The error could be in return.
You don’t need status if it is 200 return jsonify(...).
If you want to return status , it should be return jsonify(...), 200

Leave a Reply