From aadbb7dc8ae8bebb8bd75540f9fe5e62394b7854 Mon Sep 17 00:00:00 2001 From: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com> Date: Wed, 24 Sep 2025 10:51:39 -0400 Subject: [PATCH] Use the query tag name instead of the field name (#33369) #33244 --- changes/33244-query-param-required-mesage | 1 + server/service/integration_enterprise_test.go | 6 +++++- server/service/middleware/endpoint_utils/endpoint_utils.go | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 changes/33244-query-param-required-mesage diff --git a/changes/33244-query-param-required-mesage b/changes/33244-query-param-required-mesage new file mode 100644 index 0000000000..17a5f194ed --- /dev/null +++ b/changes/33244-query-param-required-mesage @@ -0,0 +1 @@ +- Fixed required query parameters using field name instead of parameter name in error messages diff --git a/server/service/integration_enterprise_test.go b/server/service/integration_enterprise_test.go index 726708b706..eaebb13c93 100644 --- a/server/service/integration_enterprise_test.go +++ b/server/service/integration_enterprise_test.go @@ -6926,8 +6926,12 @@ func (s *integrationEnterpriseTestSuite) TestRunBatchScript() { 0, ) - // List pending hosts var batchPendingHostsResp batchScriptExecutionHostResultsResponse + res := s.Do("GET", fmt.Sprintf("/api/latest/fleet/scripts/batch/%s/host-results", batchRes.BatchExecutionID), nil, http.StatusBadRequest) + errMsg := extractServerErrorText(res.Body) + require.Contains(t, errMsg, "Param status is required") + + // List pending hosts s.DoJSON("GET", fmt.Sprintf("/api/latest/fleet/scripts/batch/%s/host-results?status=pending", batchRes.BatchExecutionID), nil, http.StatusOK, &batchPendingHostsResp) require.Len(t, batchPendingHostsResp.Hosts, 2) require.Equal(t, batchPendingHostsResp.Count, uint(2)) diff --git a/server/service/middleware/endpoint_utils/endpoint_utils.go b/server/service/middleware/endpoint_utils/endpoint_utils.go index ac4eb3bdd2..41bc7f490f 100644 --- a/server/service/middleware/endpoint_utils/endpoint_utils.go +++ b/server/service/middleware/endpoint_utils/endpoint_utils.go @@ -186,7 +186,7 @@ func DecodeQueryTagValue(r *http.Request, fp fieldPair) error { if optional { return nil } - return &fleet.BadRequestError{Message: fmt.Sprintf("Param %s is required", fp.Sf.Name)} + return &fleet.BadRequestError{Message: fmt.Sprintf("Param %s is required", queryTagValue)} } field := fp.V if field.Kind() == reflect.Ptr {