Как передать объект json в качестве параметра в URL REST-запроса с помощью Springboot - PullRequest
0 голосов
/ 06 ноября 2018

Я посмотрел на различные ответы, и они не решают мою проблему. У меня очень специфическая потребность клиента, когда я не могу использовать тело запроса.

Я проверил эти сообщения:

Примечание: я кодирую URI.

Я получаю различные ошибки, но недопустимый символ HTML - один. Требование довольно простое:

Написать сервис REST, который принимает следующий запрос

GET /blah/bar?object=object11&object=object2&...

объект - это POJO, который будет представлен в следующем формате JSON

{
    "foo": bar,  
    "alpha": {       
        "century": a,
    }
}

Очевидно, я буду читать в списке объектов ...

Мой код, который чрезвычайно упрощен ... как показано ниже.

 @RequestMapping(method=RequestMethod.GET, path = "/test")
 public Greeting test(@RequestParam(value = "object", defaultValue = "World") FakePOJO aFilter) {
     return new Greeting(counter.incrementAndGet(), aFilter.toString());
 }

Я также попытался инкапсулировать его как строку и преобразовать позже, что тоже не работает.

Есть предложения? Это действительно должно быть очень просто, и привет весенний отдых должен быть хорошей фиктивной рамкой теста.

---- РЕДАКТИРОВАТЬ ----

Я выяснил, что есть основа того, как Джексон анализирует JSON. Я решил это, но буду писать. Я предоставлю точные детали после понедельника. Укороченная версия. Чтобы заставить его работать как для одного, так и для нескольких фильтров, запишите его в виде строки и используйте json slurper

1 Ответ

0 голосов
/ 06 ноября 2018

Если вы используете аннотацию @RequestParam для аргумента Map<String, String> или MultiValueMap<String, String>, карта будет заполнена всеми параметрами запроса, указанными в URL.

 @GetMapping("/blah/bar")
 public Greeting test(@RequestParam Map<String, String> searchParameters) {
     ...
 }

проверьте документацию для более подробного объяснения.

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