Spring - передача коллекции объектов в виде параметров URL - PullRequest
1 голос
/ 07 октября 2019

Возможно ли с помощью метода GET Rest передать коллекцию объектов в качестве параметров URL?

class Person{
  String name;
  String surname;
  ...
}
public ResponseEntity<List<PersonInfo>> getInfoAboutPersons(@RequestParam List<Person> persons)

Я пытаюсь отправить JSON в виде строки и проанализировать его. Я стал: «В цели запроса найден недопустимый символ. Действительные символы определены в RFC 7230 и RFC 3986», из-за '[', ']'.

Единственное решение - это список пропусков String (имя, фамилия), а затем разделить и преобразовать в объекты, что не совсем элегантно.

Может ли кто-нибудь помочь примером?

1 Ответ

0 голосов
/ 07 октября 2019

Вы можете вызывать запрос таким образом в почтальоне

http://localhost:8084/api/student?name=myValue1&surname=myValue2

ваш код должен выглядеть следующим образом:

@RequestMapping(value = "/student",
        method = RequestMethod.GET,
        produces = MediaType.APPLICATION_JSON_VALUE)
    public void getSessions(@RequestParam MultiValueMap<String,String> params) {
        System.out.println(params);
    }

вы должны получить вывод вроде: {surname = [myValue2], name= [myValue1]}

Примечание: класс нельзя использовать как @RequestParam как @RequestParam Аннотация, которая указывает, что параметр метода должен быть привязан к сети

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...