mirror of https://github.com/tiangolo/fastapi.git
✨ Allow `None` as return type for bodiless responses (#9425)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
0bdc3ca373
commit
b51ec36f2e
|
|
@ -254,6 +254,8 @@ def get_typed_annotation(annotation: Any, globalns: Dict[str, Any]) -> Any:
|
||||||
if isinstance(annotation, str):
|
if isinstance(annotation, str):
|
||||||
annotation = ForwardRef(annotation)
|
annotation = ForwardRef(annotation)
|
||||||
annotation = evaluate_forwardref(annotation, globalns, globalns)
|
annotation = evaluate_forwardref(annotation, globalns, globalns)
|
||||||
|
if annotation is type(None):
|
||||||
|
return None
|
||||||
return annotation
|
return annotation
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
Loading…
Reference in New Issue