2012-05-24 1 views
0

Я разрабатываю серверное приложение, которое будет получать списки сведений о книге из нескольких разных типов клиентов. Списки сведений о книге генерируются целиком на стороне клиента.Публикация параметров varargs или сбора данных через JAX RS

Пример списка будет выглядеть следующим образом:

/* 
    +-----+----------------+--------------------+-------------+ 
    |Isbn | Author   | title    |notes  | 
    +-----+----------------+--------------------+-------------+ 
    |02-1 | Stephen King |Cojo    |blah blah | 
    +-----+----------------+--------------------+-------------+ 
    |05-3 | JK Rowlings |Harry Potter  |rubbish  |  
    +-----+----------------+--------------------+-------------+ 
    |09-5 | Sun Tzu  |The Art of War.  |Interesting | 
    +-----+----------------+--------------------+-------------+ 
    */ 
    public interface Book { } 

    public interface ReadingListAPI { 
     List<Book> save(Book... books); 
    } 

    public class ReadingListAPIImpl implements ReadingListAPI { 
     @POST 
     @Override 
     List<Book> save(Book... books) { 

     } 
    } 

Можно ли выставить «ReadingListAPIImpl.save» метод клиенту через JAX-RS? Какой формат должен был использовать клиент для отправки данных.

Я провел некоторое исследование этого и верю, что клиент может отправить данные в формате XML, и сервер может использовать JAXB для развязывания данных. Однако это кажется довольно сложным, и я не уверен, что он поддержит получение списка пользовательских типов.
Существуют ли другие простые методы, например, использование JSON?

ответ

1

Varargs на самом деле представляет собой массив в маскировке. Поэтому я предполагаю, что он будет представлен как набор элементов. Если это не так, вы можете заменить его List<Book> - вы все равно будете итерации.

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