我正在使用RESTlet框架。
我不明白服务器如何获取客户端发送的对象。例如。 我在客户端有这样的界面:
public interface AuthorizationResource {
@Post
public void login(Authentication auth);
}
然后我向Authentication发送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;
}
}
然后在服务器端,我想获得Authentication类的对象:
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());
}
}
但没有任何反应。控制台不输出任何内容。
我的问题,这是序列化对象的最佳方法?我的路是对的吗?
答案 0 :(得分:0)
您需要使用ClientResource。它应该类似于以下内容:
ClientResource cr = new ClientResource(PATH_TO_URL);
AuthorizationResource proxy = cr.wrap(AuthorizationResource.class)
proxy.login(auth);