На самом деле, это зависит от того, что вы хотите сделать.С помощью REST (см. http://en.wikipedia.org/wiki/Representational_state_transfer), существует два способа передачи параметров или данных. Прежде чем вам нужно понять некоторые понятия:
- Ресурс: сам объект REST.
- Представление: соответствует его состоянию и может быть получено или обновлено с использованием различных методов HTTP. Вид содержимого определяется с помощью заголовка типа содержимого (тип носителя в Restlet).
- Методы: метод GET используется дляполучить состояние ресурса, PUT для его обновления, POST для создания нового ресурса и одновременного указания его состояния, DELETE для удаления ресурса.
Restlet предоставляет сущности Java для элементов REST.
Итак, после описанного вы можете видеть, что передача данных или параметров зависит от вашего варианта использования:
1 °) Хотите обновить состояние ресурса?В этом случае вы будете использовать содержимое запроса с такими методами, как POST или PUT.Структура данных свободна от текста, JSON, XML или двоичного кода ... Restlet предоставляет класс ClientResource для выполнения запросов в приложениях RESTful.Он также предоставляет поддержку для построения представления для отправки и извлечения данных из полученного.В этом случае ваши данные, собранные из формы, будут использованы для построения представления.Вот несколько примеров:
//Samples for POST / PUT
ClientResource cr = new ClientResource("http://...");
cr.post(new StringRepresentation("test"));
MyBean bean = new MyBean();
(...)
//Jackson is a tool for JSON format
JacksonRepresentation<MyBean> repr
= new JacksonRepresentation<MyBean>(bean);
cr.put(repr);
//Samples for GET
Representation repr1 = cr.get();
bean = (new JacksonRepresentation<MyBean>(repr1, MyBean.class)).getObject();
2 °) Хотите ли вы указать параметры в ваших запросах GET (например, настроить данные для получения и т. Д.)?В этом случае вы можете просто добавить его в ClientResource, как описано ниже:
ClientResource cr = new ClientResource("http://...");
cr.getReference().addQueryParameter("q", "restlet");
Representation repr = cr.get();
В этом случае ваши данные, собранные из формы, будут использованы для построения параметров.
Надеюсь, это поможет вам.Thierry