Я создаю приложение, которое использует AngularJS на стороне клиента и java на стороне сервера. Я пытаюсь войти в систему, но когда я отправляю данные (username
и password
) через POST
запрос, используя AngularJS, я получаю эти две ошибки:
POST http://localhost:8008/WebProjekat/rest/auth/login 400 (Bad Request)
и
Возможно необработанное отклонение: {"data": "Невозможно десериализовать экземпляр java.lang.String из токена START_OBJECT \ n в [Source: org.glassfish.jersey.message.internal.EntityInputStream@542ca5bc; строка: 1 , столбец: 2] (через цепочку ссылок: MyResponsePackage.User [\ "username \"]) "," status ": 400," config ": {" method ":" POST "," transformRequest ": [null], "transformResponse": [пустой] "jsonpCallbackParam": "Обратный вызов", "URL": "/ WebProjekat / отдых / авт / Логин", "данные": { "имя пользователя": { "ng339": 8}, "пароль ": {" ng339 ": 9}}," headers ": {" Accept ":" application / json, text / plain, /"," Authorization ":" Basic "," Content-Type ":" application / json; charset = utf-8 "}}," statusText ":" Неверный запрос "}
Вот мой код angularjs, который выполняет запрос:
factory.Login = function(username, password, callback){
$http.post('/WebProjekat/rest/auth/login', {username: username,
password: password})
.then(function(response){
callback(response);
})
}
Вот мой код Java, который проверяет, действительны ли учетные данные
@POST
@Path("/login")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public MyResponse login(User u) {
String username = u.getUsername();
String password = u.getPassword();
MyResponse response = null;
if(password.equals("test") && username.equals("test")) {
response = new MyResponse(true, "Succes!");
}else {
response = new MyResponse(false, "Error");
}
return response;
}
А вот и мой класс пользователя
public class User {
private String username;
private String password;
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Прошу прощения, если есть где-то похожий вопрос с ответом. Я пытался найти его, но не смог решить мою проблему. Я надеюсь, что вопрос ясен, если понадобится какое-либо дальнейшее объяснение, я предоставлю его. Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.