Spring MVC - метод получения REST со списком RequestParam <String> - PullRequest
2 голосов
/ 15 марта 2012

Если у меня есть интерфейс контроллера, подобный этому:

@RequestMapping(method = RequestMethod.GET, value = "/{CustomerId}/audit")
public @ResponseBody Long countAudit(
   @PathVariable(value = "CustomerId") String customerId,
   @RequestParam(value = "Users", required = false) List<String> users)

И я использую RestTemplate, чтобы сделать вызов через getForObject, например так:

RestTemplate restTemplate = new RestTemplate();
List<String> users = new ArrayList<String>();
users.add("Bill");
users.add("John");
String customerId = "1234";
Long cnt = restTemplate.getForObject(url, Long.class, customerId, users);

Почему первый элементв списке на стороне контроллера есть [впереди, в то время как последний элемент соответствует]?

на клиенте .. это выглядит так: «Билл», «Джон» на контроллере (сервер), это выглядит так: "[Билл", "Джон]"

Есть идеи, и есть ли способ обойти это или бороться с этим?Любые другие предложения о том, как передать List <> через requestParam в resttemplate?Спасибо за любой совет ..

1 Ответ

0 голосов
/ 15 марта 2012

Неправильная сторона сервера при разборе формата json. Вместо синтаксического анализа сервер выдает строку json (["Bill", "John"]) полного сообщения.

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

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