Отправка списка сложных объектов через Http-параметры в Spring MVC Rest Controller

МОЙ ПОЖО

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 ответ

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

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

Подпись метода 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>>(){});

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

Как вы думаете?

Другие вопросы по тегам