Ich versuche, die Antwort von einem REST-Service von meinem GWTP-Presenter zu bekommen. Meine securityDelegate löst die onSuccess-Methode aus, aber die UserDTO scheint leer zu sein. Das Netzwerk-Tool zeigt mir die Anfrage mit HTTP-Code 200 und die Antwort mit dem aktuellen Benutzer an. Aus irgendeinem Grund scheint das UserDTO leer zu sein.GWTP ResourceDelegate Antwort undefined
Die mich LOGGER
CLASS zeigen: [email protected]
Name: undefined
//LoginPresenter.java
securityDelegate.withCallback(new AsyncCallback<UserDTO>() {
@Override
public void onFailure(Throwable throwable) {
Window.alert("fail");
}
@Override
public void onSuccess(UserDTO user) {
LOGGER.info("CLASS:"+user.toString());
LOGGER.info("Name:"+user.getName());
}
}).authenticate(username,password);
//SecurityResource.java
@Path("/security")
@Produces (MediaType.APPLICATION_JSON)
@Consumes (MediaType.APPLICATION_JSON)
public interface SecurityResource {
@POST
@Path ("/authenticate")
RestAction<UserDTO> authenticate(@HeaderParam ("username") String username,@HeaderParam("password") String password);
}
//SecurityResourceImpl.java
@Path ("/security")
@Produces(MediaType.APPLICATION_JSON)
@Consumes (MediaType.APPLICATION_JSON)
public class SecurityResourceImpl {
@EJB
private SecurityBean securityBean;
@POST
@Path("/authenticate")
@Override
public Response authenticate(@HeaderParam ("username")
String username, @HeaderParam("password") String password){
User currentUser = securityBean.find(username,password);
return Response.ok().entity(new UserDTO(currentUser)).build();
}
}
//UserDTO.java
public class UserDTO implements Serializable {
private String name;
public UserDTO(){
}
public UserDTO(User user){...}
//getters/setters
}