簡體   English   中英

當函數不返回任何內容時如何處理燒瓶端點調用

[英]How to handle a flask endpoint call when function does not return anything

我正在動態讀取所有 python 方法並從燒瓶生成端點。但我看到以下異常

Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2464, in __call__ return self.wsgi_app(environ, start_response) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2450, in wsgi_app response = self.handle_exception(e) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 1867, in handle_exception reraise(exc_type, exc_value, tb) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise raise value File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 1953, in full_dispatch_request return self.finalize_request(rv) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 1968, in finalize_request response = self.make_response(rv) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/flask/app.py", line 2098, in make_response "The view function did not return a valid response. The" TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.

發生這種情況是因為該方法沒有返回任何在 Flask 中不可接受的東西,有沒有辦法處理這種情況,其中底層 python 方法返回類型可以單獨處理。 我在燒瓶中檢查了make_response但這也不能滿足需求。

基本上我必須創建 MyFlask 類,它以 Flask 作為超類。

class MyFlask(Flask):
def make_response(self, rv):
    if not rv:
        return super().make_response("Any String")
    return super().make_response(rv) 

app = MyFlask(__name__)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM