Рестлет Фреймворк. Сериализация. Не понимаю, как отправлять и получать объект

Я использую фреймворк RESTlet.

Я не понимаю, как сервер может принять объект, отправленный клиентом. Например. У меня такой интерфейс на стороне клиента:

public interface AuthorizationResource {
    @Post
    public void login(Authentication auth);
}

Затем я отправляю на сервер объект класса Authentication:

Authentication auth = new Authentication ("login", "password");

resource.login(auth);

Класс Authentication (оба класса также доступны на сервере и клиенте):

public class Authentication implements Serializable{

    private static final long serialVersionUID = 1L;

    public String login;
    public String password; 

    public Authentication() {}

    public Authentication(String login, String password) {
        super();
        this.login = login;
        this.password = password;
    }

    public String getLogin() {
        return login;
    }

    public String getPassword() {
        return password;
    }

    public void setLogin(String login) {
        this.login = login;

    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Затем на стороне сервера я хочу получить объект класса аутентификации:

public class AuthenticationServerResource extends ServerResource {

    Authentication auth = new Authentication("defaultLogin", "defaultPassword");

    @Post
    public void login (Authentication auth) {
        this.auth = auth;
                System.out.println(auth.getLogin());
    }
}

но ничего не происходит. Консоль ничего не выводит.

Мои вопросы, как лучше всего сериализовать объект? Верен ли мой путь?


person Sultan    schedule 10.04.2012    source источник
comment
Я предлагаю вам найти Representation в рестлете, чтобы узнать, как их передать. Совет: вы вызываете ресурс сервера через ClientResource или clientDispatcher и не вызываете метод login напрямую...   -  person PhD    schedule 24.04.2012


Ответы (1)


Для этого вам нужно использовать ClientResource. это должно быть что-то вроде следующего:

ClientResource cr = new ClientResource(PATH_TO_URL);
AuthorizationResource proxy = cr.wrap(AuthorizationResource.class)
proxy.login(auth);
person ravyoli    schedule 03.06.2012