@Override
public void getParams(Map<String, String> requestData) {
requestData.put("scope", "openid&scope=profile&scope=email");
}
Это почти наверняка тот случай, когда java.util.Map
не та структура данных, которую вы хотите использовать здесь. Поведение, которое вы наблюдаете, является абсолютно правильным, учитывая способ, которым должно работать URL-кодирование карты, и вы не сможете превзойти его, если сделаете что-нибудь умное в методе getParams
.
То, что вы хотите, будет чем-то вроде Multiset
или Map<String,List<String>
с некоторым умным кодом сериализации URI.
Наличие аннотации @Override
является плохим признаком - это говорит о том, чточто вы можете быть прикованы наручниками к API, который не поддерживает нужный вам вариант использования. Возможно, вам придется разорвать много существующего кода, чтобы расширить ваше решение для этого случая.