mirror of
https://github.com/fastapi/fastapi.git
synced 2026-04-15 20:41:36 -04:00
✨ Allow None as return type for bodiless responses (#9425)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
@@ -254,6 +254,8 @@ def get_typed_annotation(annotation: Any, globalns: Dict[str, Any]) -> Any:
|
||||
if isinstance(annotation, str):
|
||||
annotation = ForwardRef(annotation)
|
||||
annotation = evaluate_forwardref(annotation, globalns, globalns)
|
||||
if annotation is type(None):
|
||||
return None
|
||||
return annotation
|
||||
|
||||
|
||||
|
||||
17
tests/test_return_none_stringified_annotations.py
Normal file
17
tests/test_return_none_stringified_annotations.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import http
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
def test_no_content():
|
||||
app = FastAPI()
|
||||
|
||||
@app.get("/no-content", status_code=http.HTTPStatus.NO_CONTENT)
|
||||
def return_no_content() -> "None":
|
||||
return
|
||||
|
||||
client = TestClient(app)
|
||||
response = client.get("/no-content")
|
||||
assert response.status_code == http.HTTPStatus.NO_CONTENT, response.text
|
||||
assert not response.content
|
||||
Reference in New Issue
Block a user