Вот некоторые обновления относительно этого старого вопроса. Restlet поддерживает сигнатуры методов, которые содержат bean-компоненты. В таких случаях Restlet будет использовать зарегистрированный конвертер, чтобы попытаться преобразовать / заполнить полученную полезную нагрузку в экземпляр компонента. Это также верно при отправке контента клиенту.
Вот пример метода, который обрабатывает запрос POST
:
public class TestServerResource extends ServerResource {
@Post
public void test(TestBean bean) {
System.out.println(">> bean = " + bean.getMessage());
}
}
Боб может просто иметь следующую структуру:
public class TestBean {
private String name;
private String message;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
Чтобы заставить работать такой механизм, вы можете просто добавить расширение Джексона (org.restlet.ext.jackson
) в ваш путь к классам. Соответствующий конвертер будет автоматически зарегистрирован под капотом.
Запрос curl прост, и данные для отправки должны быть указаны
curl -X POST http://... -H "Content-Type: application/json" -d '{"name" : "myname","description":"my description"}'
Надеюсь, это поможет вам,
Thierry