Skip to content

Correctly defined 204 will return Response does not have a Content-Type header #480

@dtrunk90

Description

@dtrunk90

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions