diff --git a/src/OpenApi/src/OpenApiGenerator.cs b/src/OpenApi/src/OpenApiGenerator.cs index 86e7e46720ac..0274b7a26cb8 100644 --- a/src/OpenApi/src/OpenApiGenerator.cs +++ b/src/OpenApi/src/OpenApiGenerator.cs @@ -78,7 +78,7 @@ private OpenApiOperation GetOperation(string httpMethod, MethodInfo methodInfo, Description = metadata.GetMetadata()?.Description, Tags = GetOperationTags(methodInfo, metadata), Parameters = GetOpenApiParameters(methodInfo, pattern, disableInferredBody), - RequestBody = GetOpenApiRequestBody(methodInfo, metadata, pattern), + RequestBody = GetOpenApiRequestBody(methodInfo, metadata, pattern, disableInferredBody), Responses = GetOpenApiResponses(methodInfo, metadata) }; @@ -251,7 +251,7 @@ private static void GenerateDefaultResponses(Dictionary ""), "headerName"); } + [Fact] + public void DoesNotGenerateRequestBodyWhenInferredBodyDisabled() + { + var operation = GetOpenApiOperation((string[] names) => { }, httpMethods: new[] { "GET" }); + + var parameter = Assert.Single(operation.Parameters); + + Assert.Equal("names", parameter.Name); + Assert.Equal(ParameterLocation.Query, parameter.In); + Assert.Null(operation.RequestBody); + } + private static OpenApiOperation GetOpenApiOperation( Delegate action, string pattern = null,