У меня есть приложение Spring Boot, которое подключается и вызывает API-интерфейс REST Moodle , которое больше похоже на RP C, чем REST
. вызвать функцию "mod_quiz_get_quizzes_by_courses", которая дополнительно определяет параметр (массив) с идентификаторами курса.
Похоже, существует множество различных и специфичных для фреймворка способов c, как параметр массива должен быть закодирован в строке запроса HTTP GET. Например:
- ¶mName = x, y, z
- ¶mName = x¶mName = y¶mName = z &
- ¶mName [] = x NmName [] = y¶mName [] = z &
Похоже, что для API Moodle работает только последний из них. Проблема в том, что он также работает правильно, только если квадратные скобки не закодированы следующим образом:
¶mName% 5B% 5D = x¶mName% 5B% 5D = y¶mName% 5B% 5D = z &
Если квадратные скобки закодированы, то, на мой взгляд, должно быть обычный случай, и Springs UriComponentsBuilder делает это автоматически, тогда я также получаю ошибку от конечной точки API, как и в других случаях; 1 и 2, например:
{"exception":"invalid_parameter_exception","errorcode":"invalidparameter","message":"Invalid parameter value detected"}
Есть ли лучший подход ... или как лучше всего вызывать API Moodle с параметром массива GET в строке запроса URL