2015-08-18 4 views
4

У меня есть конечная точка для получения всех объектов из данной таблицы/data_type. Я хочу добавить некоторые возможности фильтрации для возвращаемых данных, но я не могу понять, как передать объект JSON моему контроллеру.отправка объекта json методу GET весной MVC

мой код:

@RequestMapping(value = "/{dataType}.json", method = RequestMethod.GET) 
public @ResponseBody List findAll(@PathVariable String dataType, @RequestParam(required=false) Map<String, Object> query) { 
} 

Как я могу передать данные для запроса параметр? Я попробовал @ModelAttribute и отправил объект JSON в тело запроса, но это не сработало.

Пожалуйста, помогите мне понять это

ответ

2

Вы не можете отправить JSON на параметре запроса, непосредственно. Из документов:

Когда @RequestParam аннотаций используется на карте или MultiValueMap аргумент, карта заселенных со всеми параметрами запроса.

Я уверен, что вам нужно будет сделать что-то вроде вызова encodeURIComponent() в структуре json, которую вы хотите передать на свой сервер, а затем аргумент просто будет строкой. На стороне сервера вы можете использовать трикотаж или что-то, чтобы преобразовать строку обратно в то, что вы можете манипулировать.

Это сообщение может дать еще некоторое представление:

Spring MVC: Complex object as GET @RequestParam

Смежные вопросы