RicoSuter/NSwag

typeof(void) still produces a response type of ProblemDetails

Open

#2861 opened on May 30, 2020

View on GitHub
 (6 comments) (9 reactions) (0 assignees)C# (6,291 stars) (1,189 forks)batch import
help wantedproject: NSwag.SwaggerGeneration.AspNetCore

Description

According to wiki "To define an operation without a response (i.e. HTTP 204 or 404), use the SwaggerResponseAttribute attribute and typeof(void)". Also according to wiki "SwaggerResponseAttribute(httpAction, type) (not recommended/deprecated, use ASP.NET Core's ProducesResponseTypeAttribute instead)".

So, I use this:

[ProducesResponseType(typeof(void), 404)]

Expected: 404 should have no response body.

Actual:

"404": {
            "description": "Blah blah.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }

Contributor guide