private static Map<String, String> convertParameterMap(LoginApi api) { Map<String, String> result = new HashMap<>(); Field[] fields = api.getClass().getDeclaredFields(); for (Field field : fields) { ParameterName annotation = field.getAnnotation(ParameterName.class); if (annotation != null) { field.setAccessible(true); String key = annotation.value(); try { Object valueObj = field.get(api); if (valueObj != null) { String value = valueObj.toString(); if (value != null) { result.put(key, value); } } } catch (IllegalAccessException e) { e.printStackTrace(); } } } return result; }