Correctly defined 204 will return Response does not have a Content-Type header
dtrunk90 opened this issue · comments
Danny Trunk commented
Describe the bug
Based on https://swagger.io/docs/specification/describing-responses/ (Empty Response Body) the definition for 204 should look like this:
{
...,
"paths": {
"/tests": {
"get": {
"tags": [
"test-controller"
],
"operationId": "getTests",
"parameters": [...],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Test"
}
}
}
}
},
"204": {
"description": "Empty list"
},
"502": {
"description": "Invalid Response",
"content": {
"application/json": {}
}
},
"504": {
"description": "No Response",
"content": {
"application/json": {}
}
}
}
}
}
},
...
}
But in that case I get the following error:
{
"data": null,
"errors": [
{
"extensions": {
"code": "INTERNAL_SERVER_ERROR"
},
"locations": [
{
"column": 17,
"line": 1
}
],
"message": "Response does not have a Content-Type header",
"path": [
"tests"
]
}
]
}
There's indeed no Content-Type header since there's no Content.
To Reproduce
Steps to reproduce the behavior:
See above
Expected behavior
No error should occur