From d8ee4354224b8416a033822e722694b858a24597 Mon Sep 17 00:00:00 2001 From: xufeixiang Date: Mon, 23 Sep 2024 11:26:40 +0800 Subject: [PATCH] feat: make request param sorted for swagger. --- pkg/engine/swagger/api_operation.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/engine/swagger/api_operation.go b/pkg/engine/swagger/api_operation.go index 3f2eed3..ab78b66 100644 --- a/pkg/engine/swagger/api_operation.go +++ b/pkg/engine/swagger/api_operation.go @@ -12,6 +12,7 @@ import ( "github.com/getkin/kin-openapi/openapi3" "github.com/wundergraph/wundergraph/pkg/apihandler" "github.com/wundergraph/wundergraph/pkg/wgpb" + "golang.org/x/exp/maps" "golang.org/x/exp/slices" "strings" ) @@ -93,11 +94,13 @@ func (s *document) makeApiOperationParameters(requestSchemaRef *openapi3.SchemaR return } - result = make(openapi3.Parameters, 0) - for name, schemaRef := range requestSchemaRef.Value.Properties { - param := openapi3.NewQueryParameter(name) - param.Schema = schemaRef - param.Required = slices.Contains(requestSchemaRef.Value.Required, name) + keys := maps.Keys(requestSchemaRef.Value.Properties) + slices.Sort(keys) + result = make(openapi3.Parameters, 0, len(keys)) + for _, key := range keys { + param := openapi3.NewQueryParameter(key) + param.Schema = requestSchemaRef.Value.Properties[key] + param.Required = slices.Contains(requestSchemaRef.Value.Required, key) result = append(result, &openapi3.ParameterRef{Value: param}) } return