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 {