2015-01-28 2 views
0

В настоящее время мой веб-сервис вернет ответ, который запрашивает одну конкретную запись. Был сделан запрос, позволяющий возвращать несколько похожих записей через ответное сообщение.Spring Web Service: добавление массивов/коллекций в ответ

Для примера:

Я возвращаю имя, адрес 1, адрес 2, почтовый индекс для конкретного человека

Они хотели бы иметь возвращение всех имен/адресов для PostalCode прошел в С. что, как сказано, мой resultExtractor и response в настоящее время выполняют одиночные строки/int. Есть ли там какая-либо документация, объясняющая процесс использования массивов с вашим ответным сообщением?

Спасибо!

+0

Вероятно, вы должны использовать сервер ответ в формате JSON. – MAGx2

ответ

0

Лучший способ - использовать Json в ответе. Поэтому, кто сделает запрос, нужно будет преобразовать json в нужный объект.

Например, вы можете использовать библиотеку Gson из Google: Gson Library

Ther пример MVC контроллер, который работает в моем проекте

@RequestMapping(value = "services/utente/getUtenteByUsername", method = RequestMethod.GET) 
    @ResponseBody 
    public String getUtenteDaUsername(@RequestParam("username") String username, Model model) { 

      utente = utenteBo.findByUsername(username); 

      String jsonResult = ""; 

      if (utente != null) { 

        GsonBuilder builder = new GsonBuilder(); 
        Gson gson = builder.create(); 

        jsonResult = gson.toJson(utente); 

        return jsonResult; 
      } 
      else { 
       return null; 
      } 


} 
1

Использование пружины, вы можете аннотировать метод контроллера с @ResponseBody. Ваш тип возврата java будет затем разобран и отправлен по проводу, если jackson находится в вашем пути к классу, тогда он будет преобразован в JSON.

Spring MVC ResponseBody docs

Similar question which has Java and xml config answers

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