Отправка списка сложных объектов через Http-параметры в Spring MVC Rest Controller - PullRequest
0 голосов
/ 13 января 2019

Мой POJO

public class SearchCriteria {
    private String key;
    private String operation;
    private Object value;

    default constructor, parameters constructor, setters and getters....
}

Моя подпись метода RestController.

@GetMapping("/subscribers")
public ResponseEntity<List<SubscriberDTO>> getAllSubscribers(Pageable pageable,
    @RequestParam(name = "lstSearchCriteria", required = false) List<SearchCriteria> lstSearchCriteria)

Теперь я хочу иметь возможность передавать через HttpParams список критериев поиска, требуемых методом getAllSubscribeers ().

Я пробовал несколько разных способов сделать это, но либо я беру: Не удалось преобразовать значение типа 'java.lang.String' в требуемый тип 'java.util.List' исключение

или список равен нулю

Любая помощь очень ценится

1 Ответ

0 голосов
/ 13 января 2019

Спасибо, ребята, за ваши ответы.

Я выбрал другой подход, который я хотел бы, чтобы вы, ребята, прокомментировали, если он правильный.

Подпись метода RestController сейчас:

 public ResponseEntity<List<SubscriberDTO>> getAllSubscribers(Pageable pageable,
    @RequestParam(name = "jsonSearchCriteriaList", required = false) String jsonSearchCriteriaList)

И через API Джексона я создал Список из нового класса Util, созданного для этой цели ...

 ObjectMapper mapper = new ObjectMapper();
 mapper.readValue(json, new TypeReference<List<SearchCriteria>>(){});

И тогда все работает как положено!

Что вы думаете?

...