Как говорит @Nikolai, null не имеет особого значения в запросе. Запрос часто называют Query String
, например, в AWS API Gateway, который более информативен, так как сообщает, что это строка, а не Map
, Strings
только с кодированием chars
, в этом контексте понятия «ноль» не существует.
IMO Не рекомендуется использовать Map<String,String> params
, если вы можете его избежать, скорее предпочитайте строгие типы и перечисляйте все возможные параметры запроса с необязательными параметры для необязательных входов. Если вы хотите, чтобы пользователи указали Map
, он должен быть в ТЕЛЕ, но GET
с телом мне кажется неправильным, поэтому вам может потребоваться изменить метод HTTP.
Если у вас есть много параметров, и именно поэтому вы используете Map
, помните, что некоторые браузеры ограничивают символы в URL до 2048
, поэтому это может быть опасно, и у вас может быть случай, когда пользователь не может указать все параметры, которые ему нужны из-за этого ограничения.
TL; DR: Map<String,String>
должен быть в теле запроса.